1. 程式人生 > >TP5的使用注意事項

TP5的使用注意事項

Tp5自動生成模組

入口檔案新增以下程式碼並修改build.php

$build = include APP_PATH.'build.php'; //(APP_PATH在index在根目錄時可去除)
\think\Build::run($build);

檢視輸出字串內容替換

‘view_replace_str’ => [
‘__STATIC’ => ‘/static’,
],

後臺前端框架

http://www.h-ui.net/

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)