TP5的使用注意事項
阿新 • • 發佈:2018-12-08
Tp5自動生成模組
入口檔案新增以下程式碼並修改build.php
$build = include APP_PATH.'build.php'; //(APP_PATH在index在根目錄時可去除)
\think\Build::run($build);
檢視輸出字串內容替換
‘view_replace_str’ => [
‘__STATIC’ => ‘/static’,
],
後臺前端框架
Html中include將頁面分級複用 如頭部,尾部,分級
Tp5中url
可以寫為{:url(‘cagegory/index’)}樣式,cagegory中index方法
<li><a data-href="{:url('cagegory/index')}" data-title="資訊管理" href="javascript:void(0)">資訊管理</a></li>
隱藏index.php
入口檔案同級.htaccess檔案
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]
Validate 驗證資料
模組下新建validate並建立php檔案 例如 :admin模組 Category控制器
<?php
Namespace app\admin\validate
uer think\Validate
Class Category extends Validate{
Protected $rule=[
[‘name’,’require|max:10’,’分類名必須傳遞|不能超過10個’],
[‘id’,’number’,’id必須為number’],
];
/使用場景/
protected $scene=[
‘add’ => [‘name’],//新增
‘listorder’ => [‘id’],//排序
];
}
>
呼叫
$validate= validate(‘Category’); If(!$validate->scene(‘add’)->check($data)){ $this->error($validate->getError()); }
post處理 控制器提交model層
$data=input(‘post.’);
$res =model(‘Category’)->add($data);
Php資料庫呼叫
$data=[
‘parent_id’=>0,
‘status’ => [‘neq’,-1],
];
$order=[
‘id’ => ‘desc’,
];
$result=$this->where->($data)->order($order)->select();
echo $this->getlastSql();//獲取sql語句
Tp5迴圈輸出標籤volist
首先在控制器中首先對模版賦值:
$list = User::all();
$this->assign('list',$list);
在模版定義如下,迴圈輸出使用者的編號和姓名:
{volist name="list" id="vo"}
{$vo.id}:{$vo.name}<br/>
{/volist}
TP5 php分頁 paginate
Model中
$result=$this->order($order)->paginate(2);
return $result;
View中
<div>{$users->render()}</div>
TP5防止xLL攻擊
Htmlentitites($data);
統一過濾
$data= input(‘post.’,’’,’htmlentitites’)
html如果已經轉義一次,二次出現會出現亂碼。需反轉,html_entity_decode
Select結果物件型別轉換陣列
開啟 database.php 增加或修改引數
'resultset_type' => '\think\Collection',
即可連貫操作
model('user')->select()->toArray()
Php去除多維陣列中的重複項
array_unique($arr,SORT_REGULAR)