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()
函數去實現類的自動加載。代碼規範