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下使用strpos需要注意 === 运算符
Jul 17 PHP
简单的php新闻发布系统教程
May 09 PHP
十个PHP高级应用技巧果断收藏
Sep 25 PHP
PHP实现搜索地理位置及计算两点地理位置间距离的实例
Jan 08 PHP
CI框架封装的常用图像处理方法(缩略图,水印,旋转,上传等)
Nov 22 PHP
php实现自定义中奖项数和概率的抽奖函数示例
May 26 PHP
利用PHP获取汉字首字母并且分组排序详解
Oct 22 PHP
PHP实现的猴王算法(猴子选大王)示例
Apr 30 PHP
Yii2框架加载css和js文件的方法分析
May 25 PHP
Laravel 实现在Blade模版中使用全局变量代替路径的例子
Oct 22 PHP
tp5.1 框架数据库常见操作详解【添加、删除、更新、查询】
May 26 PHP
详解PHP设计模式之依赖注入模式
May 25 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
Windows PHP5和Apache的安装与配置
2009/06/08 PHP
PHP统计当前在线用户数实例讲解
2015/10/21 PHP
javascript应用:Iframe自适应其加载的内容高度
2007/04/10 Javascript
JavaScript高级程序设计(第3版)学习笔记12 js正则表达式
2012/10/11 Javascript
ExtJs默认的字体大小改变的几种方法(自己整理)
2013/04/18 Javascript
JS对HTML标签select的获取、添加、删除操作
2013/10/17 Javascript
详谈JavaScript 匿名函数及闭包
2014/11/14 Javascript
HTML Table 空白单元格补全的简单实现
2016/10/13 Javascript
开源免费天气预报接口API及全国所有地区代码(国家气象局提供)
2016/12/26 Javascript
从零学习node.js之详解异步控制工具async(八)
2017/02/27 Javascript
Vue-不允许嵌套式的渲染方法
2018/09/13 Javascript
vue项目持久化存储数据的实现代码
2018/10/01 Javascript
详解jquery和vue对比
2019/04/16 jQuery
详解Vue的mixin策略
2020/11/19 Vue.js
[47:02]2018DOTA2亚洲邀请赛3月29日 小组赛B组 VP VS paiN
2018/03/30 DOTA
Python中的ConfigParser模块使用详解
2015/05/04 Python
python从子线程中获得返回值的方法
2019/01/30 Python
Python简易版图书管理系统
2019/08/12 Python
python字典setdefault方法和get方法使用实例
2019/12/25 Python
Python使用requests模块爬取百度翻译
2020/08/25 Python
PyQt5多线程防卡死和多窗口用法的实现
2020/09/15 Python
详解CSS3原生支持div铺满浏览器的方法
2018/08/30 HTML / CSS
HTML5的一个显示电池状态的API简介
2015/06/18 HTML / CSS
美国最大的船只买卖在线市场:Boat Trader
2018/08/04 全球购物
香港士多网上超级市场:Ztore
2021/01/09 全球购物
房地产营销策划方案
2014/02/08 职场文书
求职简历自我评价范文
2015/03/10 职场文书
公司员工手册范本
2015/05/14 职场文书
工作简报怎么写
2015/07/21 职场文书
2016关于学习党章的心得体会
2016/01/15 职场文书
详解MySQL 用户权限管理
2021/04/20 MySQL
python获取淘宝服务器时间的代码示例
2021/04/22 Python
OpenCV-Python实现怀旧滤镜与连环画滤镜
2021/06/09 Python
探究Mysql模糊查询是否区分大小写
2021/06/11 MySQL
java固定大小队列的几种实现方式详解
2021/07/15 Java/Android
MySQL创建定时任务
2022/01/22 MySQL