欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解析php類的注冊與自動加載

 更新時(shí)間:2013年07月05日 10:58:04   作者:  
本篇文章是對php類的注冊與自動加載進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下

工程目錄如下:



1、將需要注冊的類放在一個(gè)數(shù)組中

復(fù)制代碼 代碼如下:

<?php
final class Utils {
    private function __construct() {
    }
    public static function getClasses($pre_path = '/') {
        $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、注冊數(shù)組
注意:
步驟1中的類的路徑都是相對于init.php而言的,不是相對于Utils而言的,這是因?yàn)槲覀兺ㄟ^init.php里的自動加載函數(shù)spl_autoload_register來require類的
復(fù)制代碼 代碼如下:

<?php
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
復(fù)制代碼 代碼如下:

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

相關(guān)文章

  • php讀取文件內(nèi)容的方法匯總

    php讀取文件內(nèi)容的方法匯總

    這篇文章主要介紹了php讀取文件內(nèi)容的方法,實(shí)例匯總了常見的五種方法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-01-01
  • php+ajax實(shí)現(xiàn)無刷新分頁

    php+ajax實(shí)現(xiàn)無刷新分頁

    這篇文章主要介紹了php+ajax實(shí)現(xiàn)無刷新分頁的方法,詳細(xì)講述了Ajax文件的實(shí)現(xiàn)及PHP調(diào)用方法,需要的朋友可以參考下
    2015-11-11
  • PHP獲取HTTP body內(nèi)容的方法

    PHP獲取HTTP body內(nèi)容的方法

    今天小編就為大家分享一篇PHP獲取HTTP body內(nèi)容的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • PHP設(shè)計(jì)模式之命令模式示例詳解

    PHP設(shè)計(jì)模式之命令模式示例詳解

    這篇文章主要給大家介紹了關(guān)于PHP設(shè)計(jì)模式之命令模式的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • php數(shù)組函數(shù)序列之krsort()- 對數(shù)組的元素鍵名進(jìn)行降序排序,保持索引關(guān)系

    php數(shù)組函數(shù)序列之krsort()- 對數(shù)組的元素鍵名進(jìn)行降序排序,保持索引關(guān)系

    krsort() 函數(shù)將數(shù)組按照鍵逆向排序,為數(shù)組值保留原來的鍵??蛇x的第二個(gè)參數(shù)包含附加的排序標(biāo)志
    2011-11-11
  • PHP fgetcsv 定義和用法(附windows與linux下兼容問題)

    PHP fgetcsv 定義和用法(附windows與linux下兼容問題)

    PHP fgetcsv() 函數(shù)從文件指針中讀入一行并解析 CSV 字段。與PHP fgets() 類似,不同的是 PHP fgetcsv() 解析讀入的行并找出 CSV 格式的字段,然后返回一個(gè)包含這些字段的數(shù)組
    2012-05-05
  • 隱藏Nginx或Apache以及PHP的版本號的方法

    隱藏Nginx或Apache以及PHP的版本號的方法

    這篇文章主要介紹了隱藏Nginx或Apache以及PHP的版本號的方法,主要用來防止針對性的漏洞攻擊,需要的朋友可以參考下
    2016-01-01
  • PHP輸出緩沖與header發(fā)送問題詳解

    PHP輸出緩沖與header發(fā)送問題詳解

    這篇文章主要給大家介紹了關(guān)于PHP輸出緩沖與header發(fā)送問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • 淺談PHP7中的一些小技巧

    淺談PHP7中的一些小技巧

    PHP7顯著提高了整體性能。實(shí)際上主要的特性有null合并運(yùn)算符或返回類型聲明。如果你不知道它們,那么你應(yīng)該去查看PHP文檔。這里有一些很少人知道的、可能有用的特性。
    2021-05-05
  • 10個(gè)值得深思的PHP面試題

    10個(gè)值得深思的PHP面試題

    這篇文章主要為大家分享了值得深入思考的10個(gè)PHP面試問題,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-11-11

最新評論