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

yipeiwu_com6年前PHP代码库

下面是一段使用__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),这样做即可以有效管理库文件,又解决了跨平台的问题。

相关文章

WordPress中查询文章的循环Loop结构及用法分析

WordPress 上获取文章最重要的就是循环(Loop),事实上循环就是去数据库查询到相应的文章,然后暂时储存到全局变量里边,需要的时候一篇一篇的输出出来,WordPress 的循环设...

php项目中类的自动加载实例讲解

主要函数:spl_autoload_register() — 注册给定的函数作为 __autoload() 的实现 将函数注册到SPL __autoload函数队列中。如果该队列中的函数...

PHP Stream_*系列函数

PHP Stream_*系列函数

下图是对这个系列函数的思维导图——我也是第一次使用思维导图这种工具。大图在这里。其中stream_socket_*系列是PHP 5新加入的处理socket连接的函数,简单方便,下一篇博客...

PHP开发实现微信退款功能示例

本文实例讲述了PHP开发实现微信退款功能。分享给大家供大家参考,具体如下: 最近在调微信退款接口,发现有许多坑,更大家分享一下 ① 要是在测试的时候,网页提示 curl 58 说明 证书...

PHP调用Webservice实例代码

它是一个开源软件,是完全采用PHP语言编写的、通过HTTP收发SOAP消息的一系列PHP类,由NuSphere Corporation(http://dietrich.ganx4.com...