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脚本数据库功能详解(中)
Oct 09 PHP
discuz authcode 经典php加密解密函数解析
Jul 12 PHP
PHP中for与foreach的区别分析
Mar 09 PHP
php array_walk() 数组函数
Jul 12 PHP
php 数据库字段复用的基本原理与示例
Jul 22 PHP
深入探讨:PHP使用数据库永久连接方式操作MySQL的是与非
Jun 05 PHP
php时间戳转换的示例
Mar 31 PHP
PHP Hash算法:Times33算法代码实例
May 13 PHP
PHP入门教程之表单与验证实例详解
Sep 11 PHP
IOS 开发之NSDictionary转换成JSON字符串
Aug 14 PHP
PHP实现微信支付(jsapi支付)流程步骤详解
Mar 15 PHP
总结PHP代码规范、流程规范、git规范
Jun 18 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开发中常用的8个小技巧
2008/08/27 PHP
php动态实现表格跨行跨列实现代码
2012/11/06 PHP
Laravel下生成验证码的类
2017/11/15 PHP
十个优秀的Ajax/Javascript实例网站收集
2010/03/31 Javascript
JS中的异常处理方法分享
2013/12/22 Javascript
jquery实现非叠加式的搜索框提示效果
2014/01/07 Javascript
jquery 绑定回车动作扑捉回车键触发的事件
2014/03/26 Javascript
JavaScript lastIndexOf方法入门实例(计算指定字符在字符串中最后一次出现的位置)
2014/10/17 Javascript
JS实现网页每隔3秒弹出一次对话框的方法
2015/11/09 Javascript
JS基于HTML5的canvas标签实现炫目的色相球动画效果实例
2016/08/24 Javascript
关于jQuery.ajax()的jsonp碰上post详解
2017/07/02 jQuery
BootStrap Table复选框默认选中功能的实现代码(从数据库获取到对应的状态进行判断是否为选中状态)
2017/07/11 Javascript
vue实现留言板todolist功能
2017/08/16 Javascript
express默认日志组件morgan的方法
2018/04/05 Javascript
详解JavaScript的数据类型以及数据类型的转换
2019/04/20 Javascript
layui table 表格模板按钮的实例代码
2019/09/21 Javascript
微信小程序实现上拉加载功能
2019/11/20 Javascript
vue excel上传预览和table内容下载到excel文件中
2019/12/10 Javascript
Node.js API详解之 net模块实例分析
2020/05/18 Javascript
Python解决N阶台阶走法问题的方法分析
2017/12/28 Python
pycharm使用matplotlib.pyplot不显示图形的解决方法
2018/10/28 Python
利用Python将文本中的中英文分离方法
2018/10/31 Python
Pycharm小白级简单使用教程
2020/01/08 Python
Pytorch使用PIL和Numpy将单张图片转为Pytorch张量方式
2020/05/25 Python
Python+unittest+requests 接口自动化测试框架搭建教程
2020/10/09 Python
分享一个页面平滑滚动小技巧(推荐)
2019/10/23 HTML / CSS
分享全球十款超强HTML5开发工具
2014/05/14 HTML / CSS
JYSK加拿大:购买家具、床垫、家居装饰等
2020/02/14 全球购物
澳大利亚家用电器在线商店:Billy Guyatts
2020/05/05 全球购物
党支部遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
作弊检讨书
2015/01/27 职场文书
导游词之平津战役纪念馆
2019/11/04 职场文书
Python Numpy之linspace用法说明
2021/04/17 Python
JavaScript 定时器详情
2021/11/11 Javascript
JavaScript中MutationObServer监听DOM元素详情
2021/11/27 Javascript
Nginx限流和黑名单配置
2022/05/20 Servers