名稱空間和自動載入類
阿新 • • 發佈:2021-06-27
名稱空間基礎使用例項
/Huyongjian/Controller/User.php
<?php
namespace Huyongjian\Controller;
class User{
public function show(){
echo __METHOD__;
}
}
/Huyongjian/Model/User.php
<?php
namespace Huyongjian\Model;
class User{
public function show(){
echo __METHOD__;
}
}
/index.php
<?php
//匯入類檔案
include "./Huyongjian/Controller/User.php";
include "./Huyongjian/Model/User.php";
//Huyongjian\Controller名稱空間下的User類呼叫
$controllerUser = new \Huyongjian\Controller\User();
$controllerUser->show();
echo "<hr>";
//Huyongjian\Model名稱空間下User類呼叫
$modelUser = new \Huyongjian\Model\User();
$modelUser->show();
瀏覽器列印
Huyongjian\Controller\User::show
Huyongjian\Model\User::show
自動載入類
/autoload.php
<?php
spl_autoload_register(function ($class){
$file = str_replace('\\','/',$class).'.php';
var_dump($file);
require $file;
});
修改/index.php
<?php
include "autoload.php";
//Huyongjian\Controller名稱空間下的User類呼叫
$controllerUser = new Huyongjian\Controller\User();
$controllerUser->show();
echo "<hr>";
//Huyongjian\Model名稱空間下User類呼叫
$modelUser = new Huyongjian\Model\User();
$modelUser->show()
瀏覽器列印
Huyongjian\Controller\User::show
Huyongjian\Model\User::show