php类自动加载器实现方法

yipeiwu_com7年前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上的memcache和memcached两个pecl库

之前尝试用的是memcache,后来发现memcached支持setMulti方法,准备转向使用memcached库了。 (试了下,实际上,memcache从支持多值set,但文档上还没...

php 字符串压缩方法比较示例

php 提供的字符串压缩方法有 1.gzcompress — Compress a string This function compress the given string usin...

php判断变量类型常用方法

现在让我们了解下具体的使用方法 gettype() gettype 会根据 参数类型返回下列值 “boolean”(从 PHP 4 起) “integer” “double”(如果是 f...

PHP array_push 数组函数

1. $arr = array(); $arr[] = ''; 2. $arr = array(); array_push($arr,''); 刚做一个100000次的循环插入,结果还是...

PHP 命名空间实例说明

复制代码 代码如下:namespace bak\ba\ba; function bab(){ echo "bi"; } namespace kkk; function k1(){ ech...