• 技术文章 >后端开发 >php教程

    解析php类的注册与自动加载_PHP教程

    2016-07-21 15:01:32原创283
    工程目录如下:



    1、将需要注册的类放在一个数组中
    复制代码 代码如下:

    final class Utils {
    private function __construct() {
    }
    public static function getClasses($pre_path = '//m.sbmmt.com/m/') {
    $classes = array(
    'DBConfig' => $pre_path.'DBConfig/DBConfig.php',
    'User' => $pre_path.'Model/User.php',
    'Dao' => $pre_path.'Dao/Dao.php',
    'UserDao' => $pre_path.'Dao/UserDao.php',
    'UserMapper' => $pre_path.'Mapping/UserMapper.php',
    );
    return $classes;
    }
    }
    ?>

    2、注册数组
    注意:
    步骤1中的类的路径都是相对于init.php而言的,不是相对于Utils而言的,这是因为我们通过init.php里的自动加载函数spl_autoload_register来require类的
    复制代码 代码如下:

    require_once '/Utils/Utils.php';
    final class Init {

    /**
    * System config.
    */
    public function init() {
    // error reporting - all errors for development (ensure you have
    // display_errors = On in your php.ini file)
    error_reporting ( E_ALL | E_STRICT );
    mb_internal_encoding ( 'UTF-8' );
    //registe classes
    spl_autoload_register ( array ($this,'loadClass' ) );
    }

    /**
    * Class loader.
    */
    public function loadClass($name) {
    $classes = Utils::getClasses ();
    if (! array_key_exists ( $name, $classes )) {
    die ( 'Class "' . $name . '" not found.' );
    }
    require_once $classes [$name];
    }
    }
    $init = new Init ();
    $init->init ();
    ?>

    3、本例中在使用处test.php里require init.php
    复制代码 代码如下:

    require_once 'Init.php';
    $dao = new UserDao();
    $result = $dao->findByName('zcl');
    ?>

    www.bkjia.comtruehttp://www.bkjia.com/PHPjc/327995.htmlTechArticle工程目录如下: 1、将需要注册的类放在一个数组中 复制代码 代码如下: ?php final class Utils { private function __construct() { } public static function g...

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:解析 php 注册 自动 加载 工程 目录 如下 需要 注册 放在 一个 数组 复制
    上一篇:浅析Apache中RewriteCond规则参数的详细介绍_PHP教程 下一篇:深入解析php中的foreach问题_PHP教程
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• 《PHP编程最快明白》第七讲:php图片验证码与缩略图_PHP• php at(@)符号的用法简介_PHP• 用PHP来写记数器(详细介绍)_PHP• PHP程序加速探索的代码优化方法_PHP• 表单验证类 Validator for PHP_PHP
    1/1

    PHP中文网