wordpress CMS主题 微信
Home > PHP开发 > PHP开发中怎样自动加载类文件?

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

高时银博客 PHP开发 点击: 329 次 0 1
  • 标签:
  • 一般情况下,我们要想加载某个类文件时,我们只需要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');

     


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

    目前还没有评论。赶快来坐沙发吧。

    发表评论