手记

【九月打卡】第1天 --大话PHP设计模式第三章节命名空间与Autoload

课程名称:大话PHP设计模式

课程章节: 3-1关于命名空间 3-2类自动载入

主讲老师:Rango

课程内容:

1、命名空间:命名空间的定义需要通过关键字 namespace 来声明,用来解决 PHP 内部的类/函数/常量或第三方类/函数/常量之间的命名冲突。

2、类的自动加载:通过__autoload()方法(已废弃,改为用spl_autoload_register方法)当调用的类不存在时PHP会自动调用这个魔术方法。

课程收获:

1、命名空间的定义需要通过关键字 namespace 来声明,如下

namespace 命名空间名;

2、命名空间的使用,引入。可以避免命名冲突报错

test1.php
namespace Test1;


function test()
{
    echo __FILE__;
}

test2.php
namespace Test2;


function test()
{
    echo __FILE__;
}

test.php

require './test1.php';
require './test2.php';

3、类的自动加载__autoload()方法使用,现已弃用,PHP7以后建议使用spl_autoload_register方法代替。

test1.php
class test1
{
    static function test()
    {
        echo __FILE__;
    }
}

test2.php
class test2
{
    static function test()
    {
        echo __FILE__;
    }
}

test.php

spl_autoload_register('autoload1');

test1::test();
print_r("<hr />");
test2::test();

function autoload1($class)
{
    require __DIR__.'/'.$class.'.php';
}

0人推荐
随时随地看视频
慕课网APP