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

相关文章

搭建基于Docker的PHP开发环境的详细教程

搭建基于Docker的PHP开发环境的详细教程

现在很多开发者都使用Vagrant来管理他们的虚拟机开发环境,Vagrant确实很酷, 不过也有不少缺点(最主要的是它占用太多的资源)。在容器技术、Docker和更多类Docker技术出...

PHP面向对象编程快速入门

【摘 要】面向对象编程(OOP)是我们编程的一项基本技能,PHP4对OOP提供了良 好的支持。如何使用OOP的思想来进行PHP的高级编程,对于提高PHP编程能力和&n...

PHP常见的几种攻击方式实例小结

本文实例总结了PHP常见的几种攻击方式。分享给大家供大家参考,具体如下: 1.SQL Injection(sql注入) ①.暴字段长度 Order by num/* ②.匹配字段 and...

解决微信授权回调页面域名只能设置一个的问题

解决微信授权回调页面域名只能设置一个的问题

最终的解决方案是:https://github.com/liuyunzhuge/php_weixin_proxy,详细的介绍请往下阅读。 在做项目集成微信登录以及微信支付的时候,都需要进...

PHP 图片合成、仿微信群头像的方法示例

本文实例讲述了PHP 图片合成、仿微信群头像的方法。分享给大家供大家参考,具体如下: 参考文章: 作者:凯歌~,php图片合成方法(多张图片合成一张)https://www.jb51.n...