扫码关注官方订阅号
PHP 框架内的控制器能随时用配置文件里的常量,原理是把配置文件include进来了吗?
还有www.baidu.com/index/demo,访问的是index控制器里的demo方法,为什么一个URL 就能去实例化一个控制器类,原理是什么?谢谢
闭关修行中......
在PHP5之前,各个PHP框架如果要实现类的自动加载,一般都是按照某种约定自己实现一个遍历目录,自动加载所有符合约定规则的文件的类或函数。 当然,PHP5之前对面向对象的支持并不是太好,类的使用也没有现在频繁。 在PHP5后,当加载PHP类时,如果类所在文件没有被包含进来,或者类名出错,Zend引擎会自动调用__autoload 函数。此函数需要用户自己实现__autoload函数。 在PHP5.1.2版本后,可以使用spl_autoload_register函数自定义自动加载处理函数。当没有调用此函数,默认情况下会使用SPL自定义的spl_autoload函数。
是的,已yii为例,他的配置文件是一个数组,在框架一开始就加载了配置文件。 当请求一个控制器/方法时,会根据框架的注册的autoload查找controller,找到就引用,继续找方法,找不到就报异常。
本人是通过把配置信息写在一个接口类里了, 然后通过spl_authload加载这个类, 调用的时候,先继承这个类,然后直接self::xxx
先将 path context 和 controller class 绑定,如果访问路径与某个 path context 匹配,就实例化 controller class.
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
是的,已yii为例,他的配置文件是一个数组,在框架一开始就加载了配置文件。
当请求一个控制器/方法时,会根据框架的注册的autoload查找controller,找到就引用,继续找方法,找不到就报异常。
本人是通过把配置信息写在一个接口类里了,
然后通过spl_authload加载这个类,
调用的时候,先继承这个类,然后直接self::xxx
先将 path context 和 controller class 绑定,如果访问路径与某个 path context 匹配,就实例化 controller class.