91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP類文件的自動加載器用法介紹

發布時間:2021-09-13 18:15:08 來源:億速云 閱讀:188 作者:chen 欄目:大數據

這篇文章主要介紹“PHP類文件的自動加載器用法介紹”,在日常操作中,相信很多人在PHP類文件的自動加載器用法介紹問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”PHP類文件的自動加載器用法介紹”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

1. 類文件的自動加載器

1. 我們的項目目錄下,所有的服務端代碼都引入了一個共同的文件那就是init.php

PHP類文件的自動加載器用法介紹

2. 在這個文件中,我們加載了倆個配置文件,我們先看global.inc.php

在這個文件里邊有一個類文件自動加載器

PHP類文件的自動加載器用法介紹

3. spl_autoload_register() 作為 __autoload() 函數的替代,返回true

PHP類文件的自動加載器用法介紹

4 . 過程詳解

PHP類文件的自動加載器用法介紹

我們可以打印一下$class_name

PHP類文件的自動加載器用法介紹

由于我們項目是在linux上存放,linux上是不能反斜杠的,所以需要在把斜杠轉為正斜杠

PHP類文件的自動加載器用法介紹

PHP類文件的自動加載器用法介紹

然后拼接路徑并判斷文件是否存在

PHP類文件的自動加載器用法介紹

然后在類外調用一下即可

PHP類文件的自動加載器用法介紹

2. 解釋文件類加載器

如果一個類在多個腳本中都需要使用,可以將一個類的定義代碼,單獨的封裝到一個文件中,這種文件也叫作類文件,在需要的時候,將整個文件載入進來即可!

PHP在執行的時候,如果發現需要一個類(只要是和這個類相關的任何的操作),但此時當前腳本又沒有這個類的定義代碼,也沒有手動加載這個類文件,那么,PHP會自動的調用一個名字叫作__autoload($class_name)函數,調用的時候,會給該函數傳遞一個參數,該參數就是當前所需要的類的類名!

3. 檢驗

我們在list文件里邊隨便寫一個模型實例

PHP類文件的自動加載器用法介紹

然后打印就可以看到class_name

但我們沒有這個文件,所以會報出file not exists 

PHP類文件的自動加載器用法介紹

3. 源碼

//自定義類自動加載路徑define('CUSTOM_CLASS_PATH', ROOT_PATH . '/class');define ('DIRECTORY_SEPARATOR', "/");/** * Class SYSCore * 類文件的自動加載器 */class SYSCore {    public static function registerAutoload($class = 'SYSCore') {        spl_autoload_register(array($class, 'autoload'));    }    public static function unregisterAutoload($class) {      spl_autoload_unregister(array($class, 'autoload'));    }  public static function my_callback($match){    return DIRECTORY_SEPARATOR. $match[0];  }    public static function autoload($class_name) {        if (strpos($class_name, 'common') === 0            || strpos($class_name, 'model') === 0            || strpos($class_name, 'Mysql') === 0            || strpos($class_name, 'Curl') === 0            || strpos($class_name, 'controller') === 0        ) {            // 系統內部自定義的類域名空間        } else {            return true;        }    $class_name = str_replace('\\', '/', $class_name);        $class_path = CUSTOM_CLASS_PATH . DIRECTORY_SEPARATOR . $class_name.'.php';        $class_path = str_replace('//', '/', $class_path);        # 判斷文件是否存在        if(file_exists($class_path)) {            # 如果存在則引入            return include_once($class_path);        } else {            # 報出警告信息            echo "file not exists class_path=$class_path\n<br/>";        }        return false;    }}SYSCore::registerAutoload();

到此,關于“PHP類文件的自動加載器用法介紹”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

龙口市| 赤峰市| 营口市| 梁河县| 呼和浩特市| 新巴尔虎右旗| 哈密市| 兴安盟| 苏尼特右旗| 台州市| 句容市| 崇左市| 吕梁市| 汝南县| 连云港市| 高雄县| 宜章县| 平遥县| 新兴县| 长子县| 日照市| 资讯| 留坝县| 乌兰察布市| 大方县| 绥德县| 昂仁县| 万荣县| 蕲春县| 溆浦县| 会东县| 梧州市| 德化县| 拜泉县| 赞皇县| 宽甸| 兴义市| 邹平县| 农安县| 苗栗市| 普定县|