-
隱藏入口文件
apache配置rewrite_module打開,AllowOverride 設(shè)置為All;
入口文件同級編寫.htaccess 重寫規(guī)則
查看全部 -
動態(tài)配置
在控制器或某個方法進行的配置
使用
set
方法動態(tài)設(shè)置參數(shù),例如:Config::set('配置參數(shù)','配置值');//?或者使用助手函數(shù)config('配置參數(shù)','配置值');
也可以批量設(shè)置,例如:
Config::set([ ????'配置參數(shù)1'=>'配置值', ????'配置參數(shù)2'=>'配置值']);//?或者使用助手函數(shù)config([ ????'配置參數(shù)1'=>'配置值', ????'配置參數(shù)2'=>'配置值']);
?寫在構(gòu)造函數(shù)時,當(dāng)前控制器生效;
寫在方法時,當(dāng)前方法生效;
查看全部 -
開發(fā)規(guī)范
命名規(guī)范
ThinkPHP5
遵循PSR-2
命名規(guī)范和PSR-4
自動加載規(guī)范,并且注意如下規(guī)范:目錄和文件
目錄使用小寫+下劃線;
類庫、函數(shù)文件統(tǒng)一以
.php
為后綴;類的文件名均以命名空間定義,并且命名空間的路徑和類庫文件所在路徑一致;
類文件采用駝峰法命名(首字母大寫),其它文件采用小寫+下劃線命名;
類名和類文件名保持一致,統(tǒng)一采用駝峰法命名(首字母大寫);
函數(shù)和類、屬性命名
類的命名采用駝峰法(首字母大寫),例如?
User
、UserType
,默認(rèn)不需要添加后綴,例如UserController
應(yīng)該直接命名為User
;函數(shù)的命名使用小寫字母和下劃線(小寫字母開頭)的方式,例如?
get_client_ip
;方法的命名使用駝峰法(首字母小寫),例如?
getUserName
;屬性的命名使用駝峰法(首字母小寫),例如?
tableName
、instance
;以雙下劃線“__”打頭的函數(shù)或方法作為魔術(shù)方法,例如?
__call
?和?__autoload
;
常量和配置
常量以大寫字母和下劃線命名,例如?
APP_PATH
和?THINK_PATH
;配置參數(shù)以小寫字母和下劃線命名,例如?
url_route_on
?和url_convert
;
數(shù)據(jù)表和字段
數(shù)據(jù)表和字段采用小寫加下劃線方式命名,并注意字段名不要以下劃線開頭,例如?
think_user
?表和?user_name
字段,不建議使用駝峰和中文作為數(shù)據(jù)表字段命名。
應(yīng)用類庫命名空間規(guī)范
應(yīng)用類庫的根命名空間統(tǒng)一為app(不建議更改,可以設(shè)置
app_namespace
配置參數(shù)更改,V5.0.8
版本開始使用APP_NAMESPACE
常量定義);
例如:app\index\controller\Index
和app\index\model\User
。查看全部 -
TP5開發(fā)環(huán)境要求:
查看全部 -
MVC流程圖(Model View Controller),業(yè)務(wù)邏輯、數(shù)據(jù)、視圖分離。
MVC較之傳統(tǒng)開發(fā)模式,耦合性低、重用性高、可維護性高
查看全部 -
TP3、TP5不兼容
查看全部 -
PHP request 方便好用
查看全部 -
use think/config; think/config:get() ;查看全部
-
模塊配置這節(jié)課比較關(guān)鍵,需要多學(xué)習(xí)幾次,自己上手寫。查看全部
-
模塊配置:應(yīng)用于不同場景(家/公司/其他場合)的配置
查看全部 -
直接從09:35這里開始看
查看全部 -
trim 過濾空格
查看全部 -
public?function?edit(Request?$request) { ????// ????//$id?=?input('id',null,'intval'); ????$id?=?$request->get('id',?null,?'intval'); ????halt($id); ????return?$this->fetch(); }
查看全部 -
5-7 條件判斷標(biāo)簽
<!-- switch -->
{switch name="'Think.get.level"}
{case value="1|2"}<p>銅牌會員</p>{/case}? 多個參數(shù)可以 用|分割
{case value="3"}<p>黃金會員</p>{/case}
{case value="4"}<p>鉆石會員</p>{/case}
{default /} <p>游客</p>
{/switch}
<!-- range -->
value="1,2,3" type="in" ->? ? ? 是否其中一個
value="1,2,3" type="notin" ->? ?是否不是其中一個
value="1,3" type="between" ->? ?是否1-3之間只能2個參數(shù)
value="1,3" type="notbetween" ->是否不是1-3之間只能2個參數(shù)
{range name="Think.get.level" value="1,2,3" type="in"}
<p>當(dāng)前l(fā)evel是1, 2, 3中的一個</p>
{else/}
<p>當(dāng)前l(fā)evel不是1, 2, 3中的任何一個</p>
{/range}
in notin between notbetween均有獨立標(biāo)簽
{in name="Think.get.level" value="1,2,3"}
{else/}
{/in}
<!-- defined -->
判斷變量/常量名是否被定義
{defined name="變量/常量名"}
{else/}
{/defined}
<!-- if -->
不推薦使用
()為一個條件 可用 and or?
{if condition="($a == 1) and ($b == 1)"}
{else/}
{/if}
查看全部 -
模板循環(huán)標(biāo)簽:
{volist? name=""? id="" key="" ? offset=""? length=""? mod=""? empty="" }
{/volist}
{volist? name="數(shù)組名"? id="數(shù)組的別名" key="默認(rèn)為i,代表當(dāng)前循環(huán)的次數(shù)" ? offset="從索引的幾開始往后輸出"? length="當(dāng)前所要輸出的長度"? mod="循環(huán)的次數(shù)和mod取余"? empty="不能直接使用html標(biāo)簽,但是可以使用變量,當(dāng)數(shù)組為空時顯示的文本內(nèi)容" }
{foreach? $list? as? $vo} 或者 ?{foreach? name="list"? item="vo"}
{/foreach}
{for? start="1"? end="10"? step="2"? name="k"}
????<p>{$k}</p>
{/for}
相當(dāng)于:
<!--
for($k=1; $k<10; $i+=2){
????echo "<p>{$k}</p>";
}
查看全部
舉報