類庫是thinkphp的核心部分,而thinkphp又通過基類庫的概念把所有系統(tǒng)類庫都集中在一起管理。核心基類庫包括完成框架的通用性開發(fā)而必須的基礎(chǔ)類和常用工具類。
thinkPHP運(yùn)行流程
從tp5/public/index.php入口文件進(jìn)入,通過加載框架引導(dǎo)文件/tp5/thinkphp/start.php
進(jìn)行初始化常量,注冊(cè)各種需要的機(jī)制,加載配置文件。準(zhǔn)備完成后即可通過
立即學(xué)習(xí)“PHP免費(fèi)學(xué)習(xí)筆記(深入)”;
/tp5/thinkphp/library/think/App.php類run()方法執(zhí)行。
準(zhǔn)備工作
對(duì)框架進(jìn)行修改,切忌修改核心代碼。一般方法是在特定目錄下進(jìn)行修改,調(diào)用。
ThinkPHP提供了需要引入其他修改的特定目錄 tp5/extend;(當(dāng)然也可以在入口文件重新定義EXTEND_PATH)來自定義修改目錄。建議能不修改不要修改。
示例
具體需求:給thinkphp引入自定義的分頁類Pagination.php。然后調(diào)用分頁類進(jìn)行業(yè)務(wù)代碼的編寫。
方法1:利用命名空間自動(dòng)加載
類文件放置目錄:tp5/extend/page/admin/Pagination.php
根據(jù)目錄,給類文件綁定命名空間(psr-4規(guī)則):
<?php namespace pageadmin; class pagination { ……………………………… }
以上用通俗的話來說,就是自動(dòng)加載擴(kuò)展類庫,需要使用命名空間,并且命名空間要和目錄對(duì)應(yīng)。
根目錄是extend目錄下開始的目錄名。
調(diào)用
$page?=?new?pageadminpagination();
或者
use?pageadminpagination; $page?=?new?pagination();
方法2:不利用命名空間
如果類文件沒有命名空間,則無法自動(dòng)加載。必須使用Loader類進(jìn)行手動(dòng)加載
use?thinkLoader; Loader::import('page.admin.pagination'); $page?=?new?pagination();
推薦教程:thinkphp教程