当前位置:首页 » 编程语言 » 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.

热点内容
电脑登陆加密 发布:2025-01-16 05:21:57 浏览:151
安卓怎么修复闪退 发布:2025-01-16 05:21:54 浏览:554
易盾加密 发布:2025-01-16 05:20:51 浏览:893
html上传图片的代码 发布:2025-01-16 05:16:55 浏览:601
搭建服务器租用电信的怎么样 发布:2025-01-16 05:12:32 浏览:49
phpmysql源码下载 发布:2025-01-16 05:12:31 浏览:211
python安装依赖包 发布:2025-01-16 05:11:45 浏览:996
澳门云主机品牌服务器 发布:2025-01-16 05:06:55 浏览:769
数据库设计主要内容 发布:2025-01-16 05:02:02 浏览:13
存储过程如何修改 发布:2025-01-16 05:01:55 浏览:634