首页 » 网站建设 » 加载机制php技巧_PHP自动加载文件机制进修

加载机制php技巧_PHP自动加载文件机制进修

访客 2024-11-25 0

扫一扫用手机浏览

文章目录 [+]

参数解释:

autoload_function:要注册的自动加载的函数,可以是回调函数办法,也可以是某个类的方法。

加载机制php技巧_PHP自动加载文件机制进修

throw:此参数设置了 autoload_function 无法成功注册时, spl_autoload_register()是否抛出非常。

加载机制php技巧_PHP自动加载文件机制进修
(图片来自网络侵删)

prepend:如果是 true,spl_autoload_register() 会添加函数到行列步队之首,而不是行列步队尾部,当注册多个自定义加载函数时,可以提升优先级。

示例

回调函数办法

spl_autoload_register(function($className) { //自动加载代码}, true, true);

静态类办法

class MyAutoloader { public static function loader($className) { //自动加载代码 }}spl_autoload_register([MyAutoloader::class, 'loader'], true, true);完全示例

假设我们以命名空间前缀作为加载规则,如:PersonModel.php文件位于Model目录,命名空间为Model,命名空间路径要与文件目录保持同等,代码如下:

namespace Model;class PersonModel { public function getName() { return "zhangsan"; }}

自动加载类文件

class MyAutoloader { public static function loader($className) { $path = ''; $className = trim($className, '\\'); if (false !== ($pos = strpos($className, '\\'))) { $path = substr($className, 0, $pos); $className = substr($className, $pos + 1); } require_once "." . DIRECTORY_SEPARATOR . $path . DIRECTORY_SEPARATOR . $className . '.php'; }}spl_autoload_register([MyAutoloader::class, 'loader'], true, true);

主入口文件

//引入自动加载文件require_once "./autoloader.php";//通过自动加载引入类文件$person = new \Model\PersonModel();//正常打印输出echo $person->getName();总结

自动加载须要有统一的命名规则,目前最常用的是按命名空间办法加载,早期没有命名空间时,一样平常按文件名后缀区分文件所在目录,从而实现不同模块文件加载,现在主流框架已经利用composer管理类库,普通用户无需关心这些加载规则,此文章紧张用于学习文件加载事理及流程。

相关文章

php为无色透明技巧_水货钻石其实也还行

从各种钻石中,可以看到大大小小的“包裹体” 图片来源:参考文献包裹体的种类多样。比钻石形成更早的包裹体,叫“原生包裹体”;与钻石同...

网站建设 2024-12-19 阅读1 评论0

phpstudy发送gbk技巧_php的文件上传

这里首先声明一下这一章的内容比较多,比较难,你要抱着和自己去世磕的态度。细微之处不放过,多敲多练是王道。 学习就像爬山,得一步一步...

网站建设 2024-12-19 阅读1 评论0