加入收藏 | 设为首页 | 会员中心 | 我要投稿 咸宁站长网 (https://www.0715zz.cn/)- 文字识别、智能机器人、媒体智能、低代码、运维!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php 类自动载入的方法

发布时间:2022-06-21 09:41:33 所属栏目:PHP教程 来源:互联网
导读:在PHP5之前,各个PHP框架如果要实现类的自动加载,一般都是按照某种约定自己实现一个遍历目录,自动加载所有符合约定规则的文件的类或函数,当然,PHP5之前对面向对象的支持并不是太好,类的使用也没有现在频繁,我们来详细探讨下吧。 php 类自动载入方法 ?p
  在PHP5之前,各个PHP框架如果要实现类的自动加载,一般都是按照某种约定自己实现一个遍历目录,自动加载所有符合约定规则的文件的类或函数,当然,PHP5之前对面向对象的支持并不是太好,类的使用也没有现在频繁,我们来详细探讨下吧。
 
  php 类自动载入方法
 
  <?php
  class inload  
  {
  /**
     * 类自动载入,不需要由开发者调用
     *
     * @param string $class 类文件
     */
    private function autoload( $class )
    {
      if( emptyempty($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);
    }
  以上所述就是本文的全部内容了,希望大家能够喜欢。
 
 

(编辑:咸宁站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读