当前位置:首页 » 编程语言 » php类的自动加载

php类的自动加载

发布时间: 2024-07-31 13:35:04

‘壹’ 我想尝试着写个小型php框架,现在卡在类自动加载和路由实现上了

类自动加载跟路由是框架最基础的特性

给你点自动加载的思路,首先现在写框架必须用上命名空间,框架内部的类文件夹根据命名空间命名方便自动加载

在入口文件引入自己写的Autoload.php 通过spl_autoload_register获得要加载的类名

spl_autoload_register(function($class_name){
Autoload::splAutoload($class_name);
});

asseek outeRouter


asseekFunc


asseek outeRoute


appwwwdocsdocsController


asseekController


asseekView


如果你采用命名空间上面函数的$class_name是类似这样的字符串,只要你有当前项目的初始路径再根据这段字符串require相应的php文件应该不难,自动加载就搞定了。

路由就更简单了就是通过$_SERVER['REDIRECT_URL'] 或$_SERVER['REDIRECT_URI'] 获得用户访问的URL,根据自己的框架制定的规则从URL中取得控制器与控制器方法名称,判断controller的类是否存在,存在则实例化,再判断controller的method是否存在,存在则调用方法,方法里面加载视图等就是另外的事情了。

‘贰’ php绫昏嚜锷ㄥ姞杞

姝e父锛屼綘镄勭被钖嶅凡缁忓己鍒惰浆鎹㈡垚灏忓啓镄勪简锛岃屼綘镄勭被钖嶆槸澶у皬鍐欐贩钖堢殑锛佸傛灉寮钖浜嗘枃浠跺悕澶у皬鍐欐娴嬶纴镶瀹氩氨镓句笉鍒颁简锛

‘叁’ PHP怎么自动加载同一目录下同一命名空间的类文件

自动加载的,只有在实例化时才会真的载入。实例化时,调用公共空间的方式是直接在元素名称前加
\
就可以了,否则PHP解析器会认为我想调用当前空间下的元素。

‘肆’ php,thinkphp自动加载怎么实现的呢

php 中有个魔术方法__autoload ,这个函数在找不到类的时候就会调用,自动加载就是在这里实现的。通过指定自动加载类的路径,只要保证文件名和类名一样。就可以自动加载。这也是为什么你看很多源码中类的名字和文件名一样的原因,这样可以实现自动加载,不需要include.

热点内容
androidcanvas缩放 发布:2024-11-26 01:21:36 浏览:239
微信商家扫我为什么输入密码 发布:2024-11-26 01:20:40 浏览:661
移动光猫无线路由器密码多少 发布:2024-11-26 01:18:35 浏览:854
怎么缓存一直播 发布:2024-11-26 01:17:38 浏览:448
sql表中添加字段 发布:2024-11-26 01:17:38 浏览:618
安卓的悬浮窗在哪里开 发布:2024-11-26 01:15:18 浏览:431
节点算法 发布:2024-11-26 01:10:58 浏览:370
行李箱密码默认是什么 发布:2024-11-26 01:10:44 浏览:175
刀具编程软件 发布:2024-11-26 01:09:18 浏览:939
金和wifi热点密码是多少 发布:2024-11-26 01:04:09 浏览:482