Thinkphp5.0自動(dòng)生成模塊及目錄的方法詳解
本文實(shí)例講述了Thinkphp5.0自動(dòng)生成模塊及目錄的方法。分享給大家供大家參考,具體如下:
Thinkphp5.0發(fā)布已有些時(shí)日了,據(jù)說(shuō)性能方面有很大的提升,按照官方的話(huà),ThinkPHP5.0版本是一個(gè)顛覆和重構(gòu)版本,采用全新的架構(gòu)思想,引入了很多的PHP新特性,優(yōu)化了核心,減少了依賴(lài),實(shí)現(xiàn)了真正的惰性加載,并針對(duì)API開(kāi)發(fā)做了大量的優(yōu)化。是時(shí)候得download一份,研究一下。今天主要講講其自動(dòng)創(chuàng)建模塊及目錄。
Thinkphp5.0自動(dòng)生成模塊較ThinkPHP3.2,確實(shí)有很大的變化。
再次,主要討論Thinkphp5.0生成模塊。
準(zhǔn)備工作
首先從官方下載ThinkPHP5.0,下載后文件結(jié)構(gòu)如下:
只保留thinkphp目錄其他的所有目錄及文件一并刪除(可以先轉(zhuǎn)移到其他地方,以備后續(xù)使用)
現(xiàn)在就開(kāi)始生成項(xiàng)目需要目錄
thinkphp3.2創(chuàng)建目錄貌似簡(jiǎn)單,但是thinkphp5.0卻更加靈活。不禁想起了良才是把復(fù)雜的事情變簡(jiǎn)單;庸才是把簡(jiǎn)單的事情變復(fù)雜;蠢材是把簡(jiǎn)單的事情變得更簡(jiǎn)單,復(fù)雜的事情變得更復(fù)雜。
1.創(chuàng)建入口文件index.php,雖然官方強(qiáng)調(diào)入口文件位置,可以隨意放置,但是為了便于學(xué)習(xí),還是放在根目錄下
// 應(yīng)用入口文件 define('APP_PATH', 'application/'); // 定義項(xiàng)目路徑,和之前3.2版本沒(méi)有區(qū)別 define('APP_AUTO_BUILD',true); //開(kāi)啟自動(dòng)生成 define('APP_DEBUG', true);// 開(kāi)啟調(diào)試模式 define('MODULE','module'); // 加載框架引導(dǎo)文件 require 'thinkphp/start.php'; // 執(zhí)行應(yīng)用 \think\App::run();
其實(shí)我個(gè)人覺(jué)得,TP官方為啥不把,程序的執(zhí)行\(zhòng)think\App::run(); 放置在start.php 目錄呢?最后,發(fā)現(xiàn)原來(lái)TP5.0引入了一個(gè)define('APP_AUTO_RUN', true);常量,當(dāng)在index.php頁(yè)面定義了改常量,項(xiàng)目就會(huì)自動(dòng)執(zhí)行,不需要添加\think\App::run();
2.創(chuàng)建項(xiàng)目名與build.php文件
個(gè)人感覺(jué)thinkphp5.0做的不好的一點(diǎn)就是上面定義的項(xiàng)目文件夾需要自己創(chuàng)建,究其原因,因?yàn)槔锩嬉胖庙?xiàng)目創(chuàng)建配置文件build.php。但是為啥TP官方不把build.php放置在根目錄下呢?然后自動(dòng)生成application文件夾呢?在這一點(diǎn)我覺(jué)得TP3.2做的就比5.0好。
現(xiàn)在來(lái)討論一下build.php,官方默認(rèn)的bulid.php內(nèi)容如下,現(xiàn)在來(lái)討論一下
return [ // 生成運(yùn)行時(shí)目錄 '__dir__' => ['runtime/cache', 'runtime/log', 'runtime/temp', 'runtime/template'], '__file__' => ['common.php'], // 定義index模塊的自動(dòng)生成 'index' => [ '__file__' => ['common.php'], '__dir__' => ['behavior', 'controller', 'model', 'view'], 'controller' => ['Index', 'Test', 'UserType'], 'model' => [], 'view' => ['index/index'], ], // 。。。 其他更多的模塊定義 ];
可以給每個(gè)模塊定義需要自動(dòng)生成的文件和目錄,以及MVC類(lèi)。
__dir__ 表示生成目錄(支持多級(jí)目錄)
__file__ 表示生成文件(不定義默認(rèn)會(huì)生成 config.php 文件)
controller 表示生成controller類(lèi)
model表示生成model類(lèi)
view表示生成html文件(支持子目錄)
自動(dòng)生成以APP_PATH 為起始目錄, __dir__ 和 __file__ 表示需要自動(dòng)創(chuàng)建目錄和文件,其他的則表示為模塊自動(dòng)生成。
模塊的自動(dòng)生成則以 APP_PATH.'模塊名/' 為起始目錄。
最后直接運(yùn)行index.php文件即可。
更多關(guān)于thinkPHP相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《ThinkPHP入門(mén)教程》、《thinkPHP模板操作技巧總結(jié)》、《ThinkPHP常用方法總結(jié)》、《codeigniter入門(mén)教程》、《CI(CodeIgniter)框架進(jìn)階教程》、《Zend FrameWork框架入門(mén)教程》、《smarty模板入門(mén)基礎(chǔ)教程》及《PHP模板技術(shù)總結(jié)》。
希望本文所述對(duì)大家基于ThinkPHP框架的PHP程序設(shè)計(jì)有所幫助。
- ThinkPHP中的三大自動(dòng)簡(jiǎn)介
- thinkPHP5.0框架自動(dòng)加載機(jī)制分析
- ThinkPHP3.1新特性之動(dòng)態(tài)設(shè)置自動(dòng)完成和自動(dòng)驗(yàn)證示例
- thinkphp在模型中自動(dòng)完成session賦值示例代碼
- thinkPHP自動(dòng)驗(yàn)證、自動(dòng)添加及表單錯(cuò)誤問(wèn)題分析
- ThinkPHP中create()方法自動(dòng)驗(yàn)證表單信息
- thinkPHP框架自動(dòng)填充原理與用法分析
- thinkPHP線(xiàn)上自動(dòng)加載異常與修復(fù)方法實(shí)例分析
- ThinkPHP5.0框架使用build 自動(dòng)生成模塊操作示例
相關(guān)文章
PHP將數(shù)據(jù)導(dǎo)出Excel表中的實(shí)例(投機(jī)型)
下面小編就為大家?guī)?lái)一篇PHP將數(shù)據(jù)導(dǎo)出Excel表中的實(shí)例(投機(jī)型)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-07-07php開(kāi)發(fā)最強(qiáng)大的IDE編輯的phpstorm 2020.2配置Xdebug調(diào)試的詳細(xì)教程
這篇文章主要介紹了php開(kāi)發(fā)最強(qiáng)大的IDE編輯的phpstorm 2020.2配置Xdebug調(diào)試,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08PHP實(shí)現(xiàn)新型冠狀病毒疫情實(shí)時(shí)圖的實(shí)例
在本篇文章小編給大家分享一篇關(guān)于PHP新型冠狀病毒肺炎疫情實(shí)時(shí)圖源碼內(nèi)容,有興趣的朋友們可以本地測(cè)試下。2020-02-02thinkphp判斷訪(fǎng)客為手機(jī)端或PC端的方法
這篇文章主要介紹了thinkphp判斷訪(fǎng)客為手機(jī)端或PC端的方法,通過(guò)獲取用戶(hù)$_SERVER['HTTP_USER_AGENT']信息后,再針對(duì)數(shù)組的遍歷與匹配來(lái)判斷訪(fǎng)客類(lèi)型,是非常實(shí)用的技巧,需要的朋友可以參考下2014-11-11寶塔 php修改了php.ini配置不生效的問(wèn)題及解決方法
最近在使用hypref,php的版本是7.4,服務(wù)器linux,用寶塔安裝完php,并裝完swoole插件后,安裝了swoole后,需要在php.ini中修改一下配置文件,本文給大家分享寶塔 php修改了php.ini配置不生效的問(wèn)題及解決方法,感興趣的朋友一起看看吧2023-09-09PHP SPL標(biāo)準(zhǔn)庫(kù)之接口(Interface)詳解
這篇文章主要介紹了PHP SPL標(biāo)準(zhǔn)庫(kù)之接口(Interface)詳解,本文分別講解了Coutable接口、OuterIterator接口、RecursiveIterator接口、SeekableIterator接口、SplObserver和SplSubject接口等內(nèi)容,需要的朋友可以參考下2015-05-05php通過(guò)PHPExcel導(dǎo)入Excel表格到MySQL數(shù)據(jù)庫(kù)的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)?lái)一篇php通過(guò)PHPExcel導(dǎo)入Excel表格到MySQL數(shù)據(jù)庫(kù)的簡(jiǎn)單實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-10-10