php类自动加载器实现方法


Posted in PHP onJuly 28, 2015

本文实例讲述了php类自动加载器实现方法。分享给大家供大家参考。具体如下:

这里autoload 可兼容以下格式:

Cache_File_Json
class_xxx.php
xxx.class.php
  xxx.php

php代码如下:

function __autoload($className){
 $dirs=explode('_',$className);
 $fileName=array_pop($dirs);
 //print_r($dirs);
 $filePath=$fileName;
 if(is_array($dirs) && (count($dirs) > 0)){
  //echo '\n---\n'; print_r($dirs);
  $dirPath='';
  foreach ($dirs as $dir){
   if($dir){
    $dirPath.=strtolower($dir).DIRECTORY_SEPARATOR;
   }
  }
  $filePath=$dirPath.$fileName.'.php';
 }else {
  if( file_exists('class_'.$fileName.'.php')){
   $filePath='class_'.$fileName.'.php';
  }else {
   if( file_exists($fileName.'.class.php')){
    $filePath=$fileName.'.class.php';
   } else {
    $filePath=$fileName.'.php';
   }
  } 
 }
 //var_dump($filePath);
 require $filePath;
}

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
PHP Mysql编程之高级技巧
Aug 27 PHP
解析php中eclipse 用空格替换 tab键
Jun 24 PHP
PHP的构造方法,析构方法和this关键字详细介绍
Oct 22 PHP
destoon实现公司新闻详细页添加评论功能的方法
Jul 15 PHP
PHP魔术方法__GET、__SET使用实例
Nov 25 PHP
php打乱数组二维数组多维数组的简单实例
Jun 17 PHP
PHP实现批量删除(封装)
Apr 28 PHP
PHP CodeIgniter分页实例及多条件查询解决方案(推荐)
May 20 PHP
PHP空值检测函数与方法汇总
Nov 19 PHP
Laravel中为什么不使用blpop取队列详析
Aug 01 PHP
laravel 中某一字段自增、自减的例子
Oct 11 PHP
PHP设计模式(一)工厂模式Factory实例详解【创建型】
May 02 PHP
PHP实现的json类实例
Jul 28 #PHP
php无序树实现方法
Jul 28 #PHP
分享PHP函数实现数字与文字分页代码
Jul 28 #PHP
PHP实现简单汉字验证码
Jul 28 #PHP
PHP代码实现表单数据验证类
Jul 28 #PHP
在Mac上编译安装PHP7的开发环境
Jul 28 #PHP
详谈PHP编码转换问题
Jul 28 #PHP
You might like
php源代码安装常见错误与解决办法分享
2013/05/28 PHP
PHP邮件群发机实现代码
2016/02/16 PHP
利用PHP扩展Xhprof分析项目性能实践教程
2018/09/05 PHP
apache集成php7.3.5的详细步骤
2019/06/20 PHP
Thinkphp 在api开发中异常返回依然是html的解决方式
2019/10/16 PHP
Javascript 两个窗体之间传值实现代码
2009/09/25 Javascript
JavaScript学习笔记之获取当前目录的实现代码
2010/12/14 Javascript
使用js获取地址栏中传递的值
2013/07/02 Javascript
JS文本框默认值处理详解
2013/07/10 Javascript
javascript中的parseInt和parseFloat区别
2013/07/12 Javascript
jquery对单选框,多选框,文本框等常见操作小结
2014/01/08 Javascript
JavaScript阻止事件冒泡示例分享
2014/12/28 Javascript
JS控制表单提交的方法
2015/07/09 Javascript
学习JavaScript设计模式(代理模式)
2015/12/03 Javascript
简单谈谈gulp-changed插件
2017/02/21 Javascript
详解Express笔记之动态渲染HTML(新手入坑)
2018/12/13 Javascript
Vue.js实现可排序的表格组件功能示例
2019/02/19 Javascript
Vue 幸运大转盘实现思路详解
2019/05/06 Javascript
bootstrap table实现iview固定列的效果实例代码详解
2019/09/30 Javascript
Python 类的继承实例详解
2017/03/25 Python
python与caffe改变通道顺序的方法
2018/08/04 Python
Python2与Python3的区别实例总结
2019/04/17 Python
Django 项目通过加载不同env文件来区分不同环境
2020/02/17 Python
Python实现Excel自动分组合并单元格
2021/02/22 Python
css3一款3D字体带阴影效果的实现步骤
2013/03/20 HTML / CSS
通过Canvas及File API缩放并上传图片完整示例
2013/08/08 HTML / CSS
介绍Ibatis的核心类
2013/11/18 面试题
软件测试英文面试题
2012/10/14 面试题
表彰先进的通报
2014/01/31 职场文书
总结表彰大会主持词
2014/03/26 职场文书
党的群众路线教育实践方案
2014/05/11 职场文书
效能风暴心得体会
2014/09/04 职场文书
2014年党支部书记工作总结
2014/12/04 职场文书
明星邀请函
2015/02/02 职场文书
2015高三毕业寄语赠言
2015/02/27 职场文书
python DataFrame中stack()方法、unstack()方法和pivot()方法浅析
2022/04/06 Python