php类自动加载器实现方法

yipeiwu_com6年前PHP代码库

本文实例讲述了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中strlen和mb_strlen用法实例分析

本文实例分析了php中strlen和mb_strlen用法。分享给大家供大家参考,具体如下: 首先看如下代码(文件编码utf8): <?php $utf8_string...

php selectradio和checkbox默认选择的实现方法详解

这是扩展yibing的select默认选择的实现方法 复制代码 代码如下:<select name="wuyeleixing" size="1"> <option &l...

令PHP初学者头疼十四条问题大总结

1、页面之间无法传递变量 get,post,session在最新的php版本中自动全局变量是关闭的,所以要从上一页面取得提交过来得变量要使用$_GET['foo'],$_POST['fo...

让的PHP代码飞起来的40条小技巧(提升php效率)

1.如果一个方法能被静态,那就声明他为静态的,速度可提高1/4; 2.echo的效率高于print,因为echo没有返回值,print返回一个整型; 3.在循环之前设置循环的最大次数,而...

基于PHP读取csv文件内容的详解

一次性读取csv文件内所有行的数据复制代码 代码如下:<?php $file = fopen('windows_2011_s.csv','r'); while ($data = f...