为什么80%的码农都做不了架构师?>>>
php提供了两种方案来自动载入:__autoload()函数和spl系列函数
一、前提约束
1.类文件命名方式采用驼峰写法,且以.class.php做后缀,比如:
Page.class.php
2.一个类文件中只写一个类,且这个类的名称和文件名一致,比如:
类文件Page.class.php中的写类:
class Page {}
3.类文件都采用命名空间,且命名空间的名称就是从根目录到自己的路径名,比如:
目录: App/Home/Page.class.php的类文件的命名空间为:App\Home,即文件代码为:
namespace App\Home;class Page {}
二、测试目录
三、类文件代码
1.文件Page.class.php
namespace App\Home;class Page {public function test(){echo __FILE__."
";}
}
2.文件Test.class.php
namespace Lib;class Test {public function g(){echo __FILE__."
";}
}
四、入口文件
1.方法一:使用__autoload函数自动加载类文件
index.php代码
function __autoload($class){require $class.'.class.php';
}//实例化
$p=new App\Home\Page();
$p->test();//实例化
$t=new Lib\Test();
$t->g();
运行结果:
E:\wamp\www\Test\Work\App\Home\Page.class.php
E:\wamp\www\Test\Work\Lib\Test.class.php
2.方法二:使用spl函数
注意:spl函数是指一spl开头的一些列的函数
index.php代码
function autoLoad($class){require $class.'.class.php';
}//实例化
$p=new App\Home\Page();
$p->test();//实例化
$t=new Lib\Test();
$t->g();
运行结果:
E:\wamp\www\Test\Work\App\Home\Page.class.php
E:\wamp\www\Test\Work\Lib\Test.class.php