课程名称:大话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';
}