php 类自动载入的方法

 更新时间:2015年06月03日 12:25:26   投稿:hebedich  
在PHP5之前,各个PHP框架如果要实现类的自动加载,一般都是按照某种约定自己实现一个遍历目录,自动加载所有符合约定规则的文件的类或函数。 当然,PHP5之前对面向对象的支持并不是太好,类的使用也没有现在频繁。 我们来详细探讨下吧。

php 类自动载入方法

<?php
class inload 
{
/**
   * 类自动载入,不需要由开发者调用
   *
   * @param string $class 类文件
   */
  private function autoload( $class )
  {
    if( empty($class) )
    {
      throw new QException('加载文件不存在'.$class);
    }
    else
    {  
      require _SPRING_.'/_Core/SpringMap.php'; //框架地图
      if(! file_exists( $source[$class]['file'] ) )
      {
        throw new QException('加载文件不存在'.$class);
      } 
      require $source[$class]['file'];
    }
  }
   
  /**
   * 注册或取消注册一个自动类载入方法
   *
   * 该方法参考 Zend Framework
   *
   * @param string $class 提供自动载入服务的类
   * @param boolean $enabled 启用或禁用该服务
   */
  private function registerAutoload($class = 'Interpreter' , $enabled = true)
  {
    if (!function_exists('spl_autoload_register'))
    {
      throw new QException('spl_autoload 不存在这个PHP的安装');
    }
    if ($enabled === true)
    {
      spl_autoload_register(array($class, 'autoload'));
    }
    else
    {
      spl_autoload_unregister(array($class, 'autoload'));
    }
  }
   
  /**
  * 析构函数
  */
  public function __destruct()
  {
    self::registerAutoload('Interpreter' , false);
  }  

以上所述就是本文的全部内容了,希望大家能够喜欢。

相关文章

  • windows中为php安装mongodb与memcache

    windows中为php安装mongodb与memcache

    这篇文章主要介绍了windows中为php安装mongodb与memcache的方法,十分的详尽,需要的朋友可以参考下
    2015-01-01
  • PHP程序中使用adodb连接不同数据库的代码实例

    PHP程序中使用adodb连接不同数据库的代码实例

    这篇文章主要介绍了PHP程序中使用adodb连接不同数据库的代码实例,具体的用法示例中用switch语句写了一个汇总式的支持,需要的朋友可以参考下
    2015-12-12
  • 在laravel中实现将查询的对象转换为多维数组的函数

    在laravel中实现将查询的对象转换为多维数组的函数

    今天小编就为大家分享一篇在laravel中实现将查询的对象转换为多维数组的函数,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • Yii实现微信公众号场景二维码的方法实例

    Yii实现微信公众号场景二维码的方法实例

    这篇文章主要给大家介绍了关于Yii实现微信公众号场景二维码的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • php跨域cookie共享使用方法

    php跨域cookie共享使用方法

    这篇文章主要介绍了php跨域cookie共享使用方法,需要的朋友可以参考下
    2014-02-02
  • Laravel 5.4.36中session没有保存成功问题的解决

    Laravel 5.4.36中session没有保存成功问题的解决

    这篇文章主要给大家介绍了关于Laravel 5.4.36中session没有保存成功问题的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-02-02
  • YII中Ueditor富文本编辑器文件和图片上传的配置图文教程

    YII中Ueditor富文本编辑器文件和图片上传的配置图文教程

    本文主要给大家介绍了YII中Ueditor富文本编辑器文件和图片上传的配置图文教程,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-03-03
  • Laravel 对某一列进行筛选然后求和sum()的例子

    Laravel 对某一列进行筛选然后求和sum()的例子

    今天小编就为大家分享一篇Laravel 对某一列进行筛选然后求和sum()的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • yii2中添加验证码的实现方法

    yii2中添加验证码的实现方法

    这篇文章主要介绍了yii2中添加验证码的实现方法,实例分析了Yii2中实现添加验证码的具体步骤与相关功能代码,需要的朋友可以参考下
    2016-01-01
  • php按百分比生成缩略图的代码分享

    php按百分比生成缩略图的代码分享

    最近的一个网站项目中上传图片需要生成缩略图,以减小列表页的大小,减缓服务器压力。一向崇尚简洁明了和实用的我,看到网上搜到的一个个长长的php缩略图类的时候,感到非常痛苦。我承认他们写的功能是强大一些,但是我不需要这么复杂的功能
    2014-05-05

最新评论