php中使用__autoload()自动加载未定义类的实现代码


Posted in PHP onFebruary 06, 2013

下面是一段使用__autoload()的代码,供大家学习参考:

<?php
/**
* 自动加载相关类库文件
*/
function __autoload($classname){
if(substr($classname,-6)=="Action"){
include APP_PATH.'controllers/'.$classname.'.class.php';
}elseif(substr($classname, -5)=="Model"){
include APP_PATH.'models/'.$classname.'.class.php';
}elseif($classname=="Smarty"){
include SYSTEM_PATH.'smarty/Smarty.class.php';
}else{
include APP_PATH.'common/'.$classname.'.class.php';
}
}
?>

另一种包含路径的方法:

<?php
function __autoload($class_name) {
$path = str_replace('_', DIRECTORY_SEPARATOR, $class_name);
require_once $path.'.php';
}
?>

说明:将下划线转换为目录分隔符(DIRECTORY_SEPARATOR),这样做即可以有效管理库文件,又解决了跨平台的问题。

PHP 相关文章推荐
PHP学习资料汇总与网址
Mar 16 PHP
PHP5中的this,self和parent关键字详解教程
Mar 19 PHP
JS实现php的伪分页
May 25 PHP
php中的数组操作函数整理
Aug 18 PHP
PHP 反射机制实现动态代理的代码
Oct 22 PHP
简单的移动设备检测PHP脚本代码
Feb 19 PHP
几种有用的变型 PHP中循环语句的用法介绍
Jan 30 PHP
php设置session值和cookies的学习示例
Mar 21 PHP
php基于websocket搭建简易聊天室实践
Oct 24 PHP
PHP封装的简单连接MongoDB类示例
Feb 13 PHP
Laravel 微信小程序后端搭建步骤详解
Nov 26 PHP
PHP7 字符串处理机制修改
Mar 09 PHP
php中使用preg_match_all匹配文章中的图片
Feb 06 #PHP
php中使用addslashes函数报错问题的解决方法
Feb 06 #PHP
深入理解ob_flush和flush的区别(ob_flush()与flush()使用方法)
Feb 06 #PHP
php中设置index.php文件为只读的方法
Feb 06 #PHP
php中选择什么接口(mysql、mysqli)访问mysql
Feb 06 #PHP
php连接mssql的一些相关经验及注意事项
Feb 05 #PHP
用php随机生成福彩双色球号码的2种方法
Feb 04 #PHP
You might like
php实现的在线人员函数库
2008/04/09 PHP
php 根据url自动生成缩略图并处理高并发问题
2014/01/23 PHP
PHP中explode函数和split函数的区别小结
2016/08/24 PHP
js查找父节点的简单方法
2008/06/28 Javascript
JavaScript 用cloneNode方法克隆节点的代码
2012/10/15 Javascript
javascript实例--教你实现扑克牌洗牌功能
2014/05/15 Javascript
js 通过cookie实现刷新不变化树形菜单
2014/10/30 Javascript
为什么JS中eval处理JSON数据要加括号
2015/04/13 Javascript
javascript判断变量是否有值的方法
2015/04/20 Javascript
JavaScript实现带箭头标识的多级下拉菜单效果
2015/08/27 Javascript
分享我的jquery实现下拉菜单心的
2015/11/29 Javascript
微信小程序 教程之数据绑定
2016/10/18 Javascript
AngularJS中如何使用echart插件示例详解
2016/10/26 Javascript
5种JavaScript脚本加载的方式
2017/01/16 Javascript
jQuery实现为table表格动态添加或删除tr功能示例
2019/02/19 jQuery
[01:01:31]2018DOTA2亚洲邀请赛3月29日小组赛B组 Mineski VS paiN
2018/03/30 DOTA
Python代码的打包与发布详解
2014/07/30 Python
Python使用面向对象方式创建线程实现12306售票系统
2015/12/24 Python
python通过pip更新所有已安装的包实现方法
2017/05/19 Python
python模仿网页版微信发送消息功能
2018/02/24 Python
Flask框架Jinjia模板常用语法总结
2018/07/19 Python
解决tensorflow测试模型时NotFoundError错误的问题
2018/07/27 Python
pandas每次多Sheet写入文件的方法
2018/12/10 Python
docker-py 用Python调用Docker接口的方法
2019/08/30 Python
django数据模型(Model)的字段类型解析
2019/12/25 Python
Python3加密解密库Crypto的RSA加解密和签名/验签实现方法实例
2020/02/11 Python
使用html5实现表格实现标题合并的实例代码
2019/05/13 HTML / CSS
加拿大时装零售商:Influence U
2018/12/22 全球购物
英国健身仓库:Bodybuilding Warehouse
2019/03/06 全球购物
Eclipse面试题
2014/03/22 面试题
广告学专业应届生求职信
2013/10/01 职场文书
八年级物理教学反思
2014/01/19 职场文书
竞选学习委员演讲稿
2014/04/28 职场文书
学历证明范文
2015/06/16 职场文书
工作建议书范文
2019/07/08 职场文书
Spring Boot项目如何优雅实现Excel导入与导出功能
2022/06/10 Java/Android