Correcting teacher:PHPz
Correction status:qualified
Teacher's comments:
使用use
<?php
namespace app\one;//第一个命名空间
class Index
{
public static function index()
{
return __CLASS__;
}
}
namespace app\two;//第二个命名空间
// echo \app\one\Index::index();//如果命名空间名字很长,调用起来比较麻烦;
use app\one\Index;//使用use关键字
echo Index::index();//调用起来比较简洁
使用as
<?php
namespace app\method\one;
class Index
{
public static function index()
{
return __CLASS__;
}
}
namespace app\method\two;
// echo \app\one\Index::index();
use app\method\one as app;//给命名空间取个别名
echo app\Index::index();
echo '<hr>';
use app\method\one\Index as app1;//为命名空间的类取个别名
echo app1::index();
echo '<hr>';
use app\method\one\Index;//如果别名和类名一样可一省略别名
echo Index::index();
类文件自动加载
<?php
spl_autoload_register(function($className){
require $className.'php';
});
加载带有命名空间的类文件
<?php
namespace app;
require 'autoload.php';//加载自动加载器,相当把流类文件复制到当前文件
use app\admin\controller\Login;//同时要使用use关键字拿到类的命名空间
$loginController = new Login;
echo $loginController->index();