PSR-0 是 PHP 业界的一个代码规范,主要类容以下php
.php
文件必须只有一个类首先项目的结构以下图所示:框架
以Home
目录下的index.php
文件为例子:函数
<?php
namespace App\Controller\Home;
class Index{
static function test(){
echo __METHOD__."\n";
}
}
复制代码
咱们能够看到:测试
App\Controller\Home
class Index
class Index
咱们定义一个 Loader
类,其中包含类自动注册所需的函数ui
<?php
namespace Src;
class Loader{
static function autoload($class){
$file=BASEDIR.'/'.str_replace('\\','/',$class).'.php';
//var_dump($file);
require_once "$file";
}
}
复制代码
定义两个测试所需的类:spa
<?php
namespace Src;
class Object{
static function test(){
echo __METHOD__."\n";
}
}
复制代码
<?php
namespace App\Controller\Home;
class Index{
static function test(){
echo __METHOD__."\n";
}
}
复制代码
<?php
define('BASEDIR',__DIR__);
//包含 包含了注册函数的文件类
include BASEDIR.'/Src/Loader.php';
//注册函数
spl_autoload_register('\\Src\\Loader::autoload');
//测试类
Src\Object::test();
App\Controller\Home\Index::test();
复制代码
能够看到咱们并无手动的去引入Src\Object
类和App\Controller\Home\Index
类,而是交给了spl_autoload_register()
函数去实现类的自动加载。代码规范