abstract:一. 下載和安裝tp5.1 安裝tp5.1需要php版本大于5.6,且推薦使用composer進(jìn)行安裝,先安裝composer,選擇對應(yīng)php版本.然后安裝composer中國全量鏡像,幫助下載tp5.1,在composer中文網(wǎng)中的安裝包列表中搜索thinkphp, 通過cmd命令行,進(jìn)入項目目錄, 輸入composer create-project
一. 下載和安裝tp5.1
安裝tp5.1需要php版本大于5.6,且推薦使用composer進(jìn)行安裝,先安裝composer,選擇對應(yīng)php版本.然后安裝composer中國全量鏡像,幫助下載tp5.1,在composer中文網(wǎng)中的安裝包列表中搜索thinkphp, 通過cmd命令行,進(jìn)入項目目錄, 輸入composer create-project topthink/think 加上要新建的項目文件夾名,等待下載并進(jìn)行安裝.
composer是一個管理依賴關(guān)系的工具,相當(dāng)于一個PHP的應(yīng)用商店.
-----------------------------------------------------------------------------
二. tp5.1開發(fā)規(guī)范
1. 目錄和文件:
* 必須使用小寫字母,多個單詞之間使用下劃線
* 類文件首字母必須大寫,其他文件名必須小寫
* 類名與文件名必須保持一致,如Index類,文件名必須是Index.php
2. 函數(shù),類與屬性和方法
* 函數(shù)必須使用小寫字母+下劃線方式命名: get_info()
* 類名必須使用大駝峰命名法,首字母大寫:UserInfo()
* 屬性和方法使用小駝峰命名,首字母小寫:$userName getInfo()
3. 常量與配置
* 常量必須全部使用大寫字母+下劃線命名: APP_PATH
* 配置參數(shù)必須使用小寫字母加下劃線: app_name
* 環(huán)境變量和常量聲明一樣,全部使用大寫字母+下劃線
4. 數(shù)據(jù)表與字段名:必須使用小寫字母+下劃線:php_edu user_id
-----------------------------------------------------------------------------
三.目錄結(jié)構(gòu)
剛下載完的thinkphp5.1的目錄有6個最重要的目錄
1. application: 應(yīng)用目錄,大部分代碼都寫在這個目錄中
2. config: 框架配置目錄,每個文件對應(yīng)一個一級配置 如app.php
3.public: 對外可訪問的web目錄,里面有入口文件
4.route: 路由目錄,存放用戶自定義的路由
5.runtime: 運行目錄,存放臨時緩存文件或編譯腳本
6.thinkphp: 框架核心腳本,(盡量不要修改,否則升級全部就覆蓋了)
-------------------------------------------------------------------
7.extend: 擴展類庫目錄,存放不便歸類的類模型和擴展框架功能
8.vendor: 由composer加載并管理的第三方類庫目錄如:驗證碼,圖片處理等等.
----------------------------------------------------------------------------
應(yīng)用目錄(application)介紹
1. common: 公共模塊目錄,存放被其他模塊共享的代碼,外部禁止訪問.
2.module: 模塊目錄,可以有多個,例如index模塊(前臺),admin模塊(后臺)
3.MVC模型就是在application中體現(xiàn) model view controller ,model共享一個數(shù)據(jù)庫的話就放在和module模塊目錄同級
4.config就是應(yīng)用配置目錄(可選) common.php 應(yīng)用公共函數(shù)庫(可選)
-------------------------------------------------------------------------------
四.框架配置
1.慣例配置: think/convertion.php 強烈建議不要修改,就是框架的默認(rèn)配置
2.應(yīng)用配置: application同級的config文件夾 ,生效范圍為整個應(yīng)用項目:application
3.模塊配置[可選]:位置在 application/模塊/config/...僅對當(dāng)前模塊生效,同名模塊配置會覆蓋應(yīng)用配置項,常用app.php, database.php,
4.動態(tài)配置[可選]:在請求的控制器中的方法里,僅對當(dāng)前url請求生效,不會保存到配置文件中.
5.優(yōu)先級為 管理配置 < 應(yīng)用配置 < 模塊配置 < 動態(tài)配置
6.如何獲取配置項
* 使用Config類: 需要先導(dǎo)入配置類(門面導(dǎo)入)
* 獲取全部配置: Config::get()
use think\Facade\Config; ... dump(Config::get()); //全部靜態(tài)使用方法
* 僅獲取一個一級配置: Config::get('一級文件名.') 注意這個點.或者Config::pull('一級文件名') 不用點
dump(Config::get('app.')); //參數(shù)后面要添加點 dump(Config::pull('app')); //后面不要添加點
* 設(shè)置配置項: Config('一級文件名.配置項','配置項值')
Config::set('app.admin_email','iron_man@php.cn');
* 判斷是否存在指定配置項 Config::has('一級文件名.配置項')
dump(Config::has('app.default_lang')); //默認(rèn)就在app.php配置文本中查找
* 助手函數(shù)(性能會下降) 不需要導(dǎo)入類
* config() 獲取全部配置項 config('一級配置項文件名.') 獲取一級 config('?一級配置項文件名.配置名') 查看是否存在
dump(config()); //獲取到了全部的配置項 dump(config('database.')); //獲取database.php的一級配置項 dump(config('?default_lang')); //查詢是否存在 dump(config('?app.default_lang')); //查詢是否存在 dump(config('app.default_lang')); //輸出配置項
五.路由與URL
1.支持的URL訪問模式
* PATH_INFO 模式: http://localhost/index.php/模塊/控制器/方法/變量/值/.... 或者http://localhost/index.php/模塊/控制器/方法?變量=值&...
* 兼容模式:localhost/index.php?s=模塊/控制器/方法/變量/值...
2.隱藏入口文件,僅適用于但入口文件設(shè)計,為不同模塊綁定不同的入口文件,則不允許隱藏入口文件,如果為admin模塊綁定了入口文件:admin.php 那么admin.php就不能隱藏
3.隱藏方法,就是在入口文件同級下創(chuàng)建.htaccess
六.命名空間
用命名空間導(dǎo)入類,避免類之間的命名沖突
七.入口文件
1.入口文件默認(rèn)為:index.php, 位于public目錄下,是統(tǒng)一的,但不是唯一的,不同模塊可以綁定不同的入口文件
2.如果要改變應(yīng)用目錄名稱,需要在重新定義入口文件 聲明一個define('APP_PATH','新應(yīng)用目錄文件夾絕對路徑') 然后Container::get('app')->path(APP_PATH)->run()->send()才可以
3.多入口文件,在配置文件中 config/app.php中 入口自動綁定模塊
'auto_bind_module' => true, 打開即可 如要給admin模塊綁定入口文件 創(chuàng)建入口文件 admin.php
Correcting teacher:韋小寶Correction time:2018-12-11 14:05:02
Teacher's summary:總結(jié)的沒毛?。《伎梢园l(fā)到群里和其他的同學(xué)分享一下了!