久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

thinkPHP5.0框架自動加載機制分析

這篇文章主要介紹了thinkPHP5.0框架自動加載機制,較為詳細的分析了thinkPHP5.0自動加載的概念、原理、用法與相關注意事項,需要的朋友可以參考下

本文實例講述了thinkPHP5.0框架自動加載機制。分享給大家供大家參考,具體如下:

概述

ThinkPHP5.0 真正實現了按需加載,所有類庫采用自動加載機制,并且支持類庫映射和composer類庫的自動加載。

自動加載的實現由think\Loader類庫完成,自動加載規范符合PHP的PSR-4。

自動加載

由于新版ThinkPHP完全采用了命名空間的特性,因此只需要給類庫正確定義所在的命名空間,而命名空間的路徑與類庫文件的目錄一致,那么就可以實現類的自動加載。

類庫的自動加載檢測順序如下:

1、類庫映射檢測;
2、PSR-4自動加載檢測;
3、PSR-0自動加載檢測;

系統會按順序檢測,一旦檢測生效的話,就會自動載入對應的類庫文件。

類庫映射

遵循我們上面的命名空間定義規范的話,基本上可以完成類庫的自動加載了,但是如果定義了較多的命名空間的話,效率會有所下降,所以,我們可以給常用的類庫定義類庫映射。命名類庫映射相當于給類文件定義了一個別名,效率會比命名空間定位更高效,例如:

Loader::addClassMap('think\Log',LIB_PATH.'think\Log.php');
Loader::addClassMap('org\util\Array',LIB_PATH.'org\util\Array.php');

也可以利用addClassMap方法批量導入類庫映射定義,例如:

$map = [
  'think\Log'   => LIB_PATH.'think\Log.php',
  'org\util\array'=> LIB_PATH.'org\util\Array.php'
];
Loader::addClassMap($map);

雖然通過類庫映射的方式注冊的類可以不強制要求對應命名空間目錄,但是仍然建議遵循PSR-4規范定義類庫和目錄。

類庫導入

如果你不需要系統的自動加載功能,又或者沒有使用命名空間的話,那么也可以使用think\Loader類的import方法手動加載類庫文件,例如:

Loader::import('org.util.array');
Loader::import('@.util.upload');

示例

// 引入 extends/qrcode.php
Loader::import('qrcode', EXTEND_PATH);
// 助手函數
import('qrcode', EXTEND_PATH);
// 引入 extends/wechat-sdk/wechat.class.php
Loader::import('wechat-sdk.wechat', EXTEND_PATH, '.class.php');
// 助手函數
import('wechat-sdk.wechat', EXTEND_PATH, '.class.php');

類庫導入也采用類似命名空間的概念(但不需要實際的命名空間支持),支持的“根命名空間”包括:

目錄 說明
behavior 系統行為類庫
think 核心基類庫
traits 系統Traits類庫
app 應用類庫
@ 表示當前模塊類庫包

如果完全遵從系統的命名空間定義的話,一般來說無需手動加載類庫文件,直接實例化即可。

Composer自動加載

5.0版本支持Composer安裝的類庫的自動加載,你可以直接按照Composer依賴庫中的命名空間直接調用。

【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。

相關文檔推薦

這篇文章主要介紹了詳解PHP文件的自動加載(autoloading)相關知識點以及詳細用法,有這方面需要的朋友參考下吧。
Laravel作為在國內國外都頗為流行的PHP框架,風格優雅,其擁有自己的一些特點。下面這篇文章主要給大家介紹了關于Laravel框架中composer自動加載實現的相關資料,文中通過示例代碼介紹
這篇文章主要介紹了thinkphp5.0驗證類的簡單有效的使用方法,一起學習下。
本文主要講了thinkphp5.0版本中自定義驗證規則的使用方法和一些注意事項。
thinkphp5.0 圖片上傳插件可預覽裁剪圖片和保存原圖片,執行裁剪圖片后會刪除 裁剪的原圖片目錄,以便減少空間。具體實現代碼大家參考下本文
這篇文章主要介紹了詳解thinkphp5+swoole實現異步郵件群發(SMTP方式),具有一定的參考價值,感興趣的小伙伴們可以參考一下
主站蜘蛛池模板: 欧美综合久久久 | 中文字幕影院 | 久久精品成人一区 | 91精品国产乱码久久久 | 欧美精品一区在线 | 亚洲综合色自拍一区 | 一级毛片免费看 | 日韩在线观看中文字幕 | 福利片在线观看 | 一区二区三区免费 | 久久亚洲综合 | 亚洲一区二区三区在线免费观看 | 久久久久久亚洲欧洲 | 国产日韩欧美精品一区二区三区 | 日韩图区| 18成人在线观看 | 99久久成人 | 欧美日韩综合一区 | 亚洲国产免费 | 亚洲国产欧美在线 | 精品国产一区二区在线 | 日韩精品免费 | 亚洲欧洲在线视频 | 亚洲播放| 久久一视频 | 久久999| 免费骚视频 | 国产精品美女久久久av超清 | 九九导航 | 91xh98hx 在线 国产 | 天天爽夜夜骑 | 狠狠干狠狠操 | 91看国产 | 精品一区二区三区在线观看 | 超碰免费观看 | 仙人掌旅馆在线观看 | 日日干综合| 亚洲欧洲一区 | 日本在线观看视频 | 国产香蕉视频在线播放 | 亚洲免费在线观看 |