批改状态:合格
老师批语:
作业标题:命名空间与mysql入门
作业内容:1. 总结mysql 常用DDL, DML语言并实操; 2.use在命名空间中的作用,如何实现自动加载带有命名空间的类?








use 引入别的命名空间到当前空间 as 为引过来的命名空间起别名
2.use 引入别的命名空间中的类到当前空间 as 为引过来的命名空间的类起别名
主程序
<?phpnamespace app;require 'app/admin/autoload.php';// 起别名use app\admin\controller\Login;use app\admin\controller\User;use app\admin\model\Login as LoginModel;use app\admin\model\User as UserModel;$loginController = new Login;$loginModel = new LoginModel;$UserModel = new UserModel;$userController = new User;echo $userController->index();
自动加载程序
<?phpspl_autoload_register(function($className){// 先检查要加载的类// echo $className.'<hr>';// 将类的命名空间与类文件所在的路径保持一一映射$file = str_replace('\\',DIRECTORY_SEPARATOR,$className).'.php';// echo $file;if(!(is_file($file) && file_exists($file))){throw new \Exception('文件名不合法或者不存在');}require $file;//require $className.'.php';});
目录结构
app\admin\controller
Login.php代码
<?namespace app\admin\controller;class Login{}
app\admin\controller
User.php代码
<?phpnamespace app\admin\controller;use app\admin\model\User as UserModel;class User{public function index(){$res = UserModel::getInfo();return $res;}}
app\admin\model
Login.php代码
<?phpnamespace app\admin\model;class Login{}
app\admin\model
User.php代码
<?phpnamespace app\admin\model;class User{static function getInfo(){return '获取到用户信息';}}
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号