当前位置: 首页 > 后端技术 > PHP

laravel命名空间自动加载

时间:2023-03-29 14:07:11 PHP

一、简介laravel优雅的框架值得学习,尤其是它的一些优秀设计。一直很好奇它的一些功能的实现。本文好奇点如下:2、laravel基本自动加载功能的概念包括命名空间、注册自动加载、包含文件。1、命令空间命令空间是php引入的一个特性。它类似于文件目录路径,将代码划分到不同的空间。类名相互独立,互不冲突。用于解决文件导入冲突;commandspacenamespace需要在文件顶部声明;commandspaceuse一般用于引入类,不能引入函数,因为找不到类时会触发自动加载spl_autoload_register,调用函数未触发;两个带命令空间的文件互相导入对方的类,中间的桥梁是通过“Registerautoload,includefiles”。2、注册自动加载新对象时,如果找不到类,会自动调用全局函数__autoload()(高版本弃用)。spl_autoload_register支持多种注册方式和批量注册3.包含文件require,include,require_once,include_once,网上有很多内容,请自行搜索。3、逻辑图4、代码模拟a.php、b.php、c.php三个文件都在同一个目录下,分别是commandspacea、namespaceb、bridgec。c.phptestB();b.phptestA();