• wordpress CMS主题:ssmay主题wordpress CMS主题:ssmay主题
  • 首页 > PHP开发 > PHP开发中怎样自动加载类文件?

    PHP开发中怎样自动加载类文件?

    作者: 分类:PHP开发 点击: 1,307 次
    wordpress CMS主题:ssmay主题

      一般情况下,我们要想加载某个类文件时,我们只需要include或require这个类文件就可以了。但有时,我们加载的类太多,而并不是任何时候都需要同时加载这么多的类,而是,只在我们new这个类时,才加这个类。这时,php就为我们提供了一个自动加载类的方式。下面,一起来看看PHP是如何自动加载类文件的吧。

      案例:

      项目函数文件:functions.php
      项目模型类:UserModel.class.php
      项目模型类目录:Model
      在当前文件中实现自动加载模型类UserModel.class.php

      方法一:__autoload()魔术方法。

      PHP提供好多魔术方法,如:__set()、__get()等。

      我们在当前文件中定义并引用__autoload()方法,代码如下:

      //自动加载类
      function __autoload($class){
      $file = 'Model/'.$class.'Model.class.php'; //模型类相对路径
      if(is_file($file)){//判断文件是否存在
      require_once($file);
      }
      }

      方法二:spl_autoload_register()调用自动加载类的自定义函数。

      首先,我们定义一个自动加载类的自定义函数 autoloads(),代码如下:

      function autoloads($class){
      $file = 'Model/'.$class.'Model.class.php';
      if(is_file($file)){
      require($file);
      }
      }

      然后,通过spl_autoload_register()来调用这个函数,代码如下:

      spl_autoload_register('autoloads');

      上面2种方法都可以实现自动加载类。我们只需在当前文件中 new 这个类(实例化这个类),就会自动加载这个类进来。上例中,我们在当前文件:

      $model = new User();

      就相当于:

      include ('Model/UserModel.class.php');

       



      QQ二维码

    文章作者:高时银博客
    本文地址:http://wanlimm.com/77201707105438.html
    版权所有 © 转载时必须以链接形式注明作者和原始出处!

    上一篇:
    下一篇:
    wordpress CMS主题:ssmay主题

    或许你会感兴趣的文章:

    一条回应:“PHP开发中怎样自动加载类文件?”

    1. steam说道:

      PHP开发中怎样自动加载类文件?

    发表评论

    电子邮件地址不会被公开。 必填项已用*标注

    This site uses Akismet to reduce spam. Learn how your comment data is processed.