PHP框架自动加载类的实现

zhang 发表于 PHP  关键字:      
3


PHP框架 如果包含一般文件较少的情况会用手动包含要使用的类文件
当要包含大量类文件的时候,这样就会显得麻烦,就可以使用自动包含类。

类文件:test.php

class Test
{
    public function __construct()
   {
       echo __CLASS__.__FUNCTION__;
    }
 }

1.手动包含:

    require_once('test.php');
    $test = new Test();

2.使用__autoload()自动包含:

    // 这样实例化一个类的时候,将会自动包含同名的类文件
    // 需要重载__autoload方法,自定义包含类文件的路径
    function __autoload($classname)
    {
        $class_file = strtolower($classname).".php";
        if (file_exists($class_file)){
            require_once($class_file);
       }
    }
    $test = new Test();

3.使用spl_autoload_register() 自定义的方法来加载文件
语法:bool spl_autoload_register ( [callback $autoload_function] )

    function myLoader($classname)
   {
       $class_file = strtolower($classname).".php";
       if (file_exists($class_file)){
           require_once($class_file);
       }
  }
  // 注册自定义方法
  spl_autoload_register("myLoader");  

  $test = new Test();

也可以使用类的方法来实现自定义的加载函数

 class autoLoader
 {
    public static function myLoader($classname)
     {
         $class_file = strtolower($classname).".php";
         if (file_exists($class_file)){
             require_once($class_file);
         }
     }
 }  

 // 通过数组的形式传递类和方法,元素一为类名称、元素二为方法名称
// 方法为静态方法
 spl_autoload_register(array("autoLoader","myLoader"));  

 $test = new Test();






找不到自己想要的东西,试试搜索一下吧^_^
Loading



本文为【爱上梁坤,爱上你】版权所有,欢迎转载。本站所有文章,未经说明,均为原创文章,转载敬请保留出处非常感谢。
  本文链接:”http://www.liangkun.net/archives/749.html

如果你觉得这篇文章对你有用,而且你又有自己的网站或者博客,请不要吝啬把本站加到你的友情链接,已经加入友情链接的朋友,请在本站留言说明,我也会在我的网站加入你的友情链接。



















【相关文章推荐】

3 篇评论 关于 “PHP框架自动加载类的实现”

发表我的评论

 疑问 冷笑 悲伤 坏蛋 感叹 微笑 脸红 大笑 吃惊 惊讶 困惑 酷 大声笑 恼火 古怪 转眼睛 给眼色 好主意 箭头 一般 哭了 绿人