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)

猜你喜欢

转载自blog.csdn.net/BingJingforyou/article/details/83069747