TP5.0中的小知识总结
2017年6月26日15:01:23
1.input 获取输入数据 支持默认值和过滤;接收用户在前台输入的数据,可以是get方式也可以是post方式。
2.ThinkPHP5.0内置了分页实现,要给数据添加分页输出功能在5.0变得非常简单,可以直接在Db类查询的时候调用paginate方法:
分页功能:杂项>分页
3.递归方法实现无限极分类
//递归方法实现无限极分类
protected function getTree($data, $parent_id = 0, $level = 0, $field = 'acategory_id') {
static $tree = [];
foreach ($data as $row) {
if ($row['parent_id'] == $parent_id) {
$row['level'] = $level;
$tree[] = $row;
$this->getTree($data, $row[$field], $level + 1, $field);
}
}
return $tree;
}
注解:
1.无限极分类的方法必须写到基类控制器中,也就是子控制器继承的父类控制器当中,然后子类控制器可以直接用$this->getTree()调用
2.无限极分类中的各个参数都要明白是什么意思。是必须要掌握的。
4.后台要做那种搜索功能的,那些属性必须被包括在form表单中,action和method也是必须要设置的。这样才能去到对应的控制器中调用对应的方法。
5.添加文章之前需要进行判断,添加的时候需要设置form中的method为post方法,如果是post提交则直接调用save方法,在save方法中接收用户输入的数据,从而保存到
数据库中。
if ($this->request->isPost()) {
// 调用save方法
return $this->save();
}
6.$data = $this->request->post();注解:是TP5.0用来接收用户前端输入的数据,接收的是一个一维数组。
7.strip_tags()函数用来剥去字符串中的HTML标签。
8.mb_substr() — 获取部分字符串
9.html_entity_decode() 函数;把 HTML 实体转换为字符。
10.修改数据的时候也要进行判断,如果是修改就调用update方法,否则,显示对应的页面数据就行。
if ($this->request->isPost()) {
return $this->update();
}
1.$data['promoted'] = intval($data['promoted'] ?? 1);这句话的解释就是如果有就是$data['promoted'],否则就是1,三元运算符的新形式
2.删除对应的数据时,需要传对应的数据id值。
TP5.0中的小知识总结的更多相关文章
- Django 2.0.7 使用小知识
Django 2.0.3 使用小知识 运行环境: Python 3.6.4 Django 2.0.7 Django Admin中model显示为中文 定义model时,定义一个Meta对象,设置需要显 ...
- 关于tp5.0中对象数组转换普通数组使用助手函数collection而不是toArray
tp5.0新版的模型查询返回默认对象,系统默认增加了toArray方法,许多开发者在all或select尝试使用toArray来转换为数组,在此希望开发者能理解对象的概念,尝试使用对象进行数据的使用, ...
- tp5.0中使用PHPexcel,以及Loader的一些问题
在5.0中使用PHPexcel遇到一些问题,记录一下方便以后查看. 非使用PHPexcel的方法: 参考:http://blog.csdn.net/sinat_35861727/article/det ...
- TP5.0中多图上传文件名重复问题
最近在做项目的时候出现了一个问题,这里记录一下: 问题: 使用TP5.0框架自带的文件上传方法后,发现多图上传可能会出现文件名重复的问题. 问题代码: 找到TP5框架上传文件命名方法,/thinkph ...
- TP5中的小知识
在TP5中如果想用select 查询后,变成数组,用toArray()这个函数的话,必须在连接数据库中把 数据集返回类型变成 'resultset_type'=>'\think\Collecti ...
- Java中的小知识。
package jicheng; public class Animal { //定义一个成员变量name. private String name; public String getName() ...
- Java中常量小知识
常量分类:常量分为静态常量,非静态常量(全局常量),局部常量 静态常量:要么定义的时候赋初值,要么在静态代码块中赋值 非静态常量:要么在定义的时候赋初值,要么在代码块中赋值 局部常量:可以在定义时赋初 ...
- tp5.0中及其常用方法的一些函数方法(自己看)和技巧(不断添加中)
1.目录结构 2.路由 3..控制器 4.模型写法 5.视图标签 6.数据库操作 7.表单验证 8.分页 --------------------------- 1.目录结构 project 应用部署 ...
- JSP页面中的小知识
1.<%…%>和<%!…%>的区别? <%…%>用于在JSP页面中嵌入Java脚本,即代码块 <%!…%>用于在JSP页面中申明变量或方法,可以在该页面 ...
随机推荐
- MongoDB 聚合Group(一)
原文:http://blog.csdn.net/congcong68/article/details/45012717 一.简介 db.collection.group()使用JavaScript,它 ...
- docker下载ubuntu并进行修改后生成新的镜像提交
一 docker pull ubuntu ,先下载下来一个镜像, 或者 从本地启动一个镜像 docker run -i -t ubuntu /bin/bash 二 进入一定更新操作 # shell ...
- Android 常驻与很驻型广播的差别,及ListView优化,Android新手基本知识巩固
1.常驻型广播 常驻型广播,当你的应用程序关闭了,假设有广播信息来,你写的广播接收器相同的能接受到. 他的注冊方式就是在你的应用程序中的AndroidManifast.xml进行注冊. 通常说这样 ...
- 关于宏:container_of和 offsetof以及list_for_each_entry
1.offsetof(TYPE, MEMBER) #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) offse ...
- python 小技巧(glob,guid,序列化,压缩字符,有序字典,sorted函数,分片)
1.glob模块 glob模块是最简单的模块之一,内容非常少.用它可以查找符合特定规则的文件路径名.跟使用windows下的文件搜索差不多.查找文件只用到三个匹配符:”*”, “?”, “[]”.”* ...
- Litepal 数据库操作框架的使用 (火)
LitePal是GitHub上一款开源的Android数据库框架. 它採用了对象关系映射(ORM)的模式,将平时开发时最经常使用的一些数据库功能进行了封装.使得开发人员不用编写一行SQL语句就能够完毕 ...
- C#与数据结构--图的遍历
http://www.cnblogs.com/abatei/archive/2008/06/06/1215114.html 8.2 图的存储结构 图的存储结构除了要存储图中各个顶点的本身的信息外,同时 ...
- 数组练习:各种数组方法的使用&&事件练习:封装兼容性添加、删除事件的函数&&星级评分系统
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- windows pip源
首先在window的文件夹窗口输入 : %APPDATA% 然后在底下新建pip文件夹,然后到pip文件夹里面去新建个pip.ini,然后再里面输入内容 [global] timeout = 6000 ...
- Tomcat Connector的三种不同的运行模式
Tomcat Connector的三种不同的运行模式性能相差很大,有人测试过的结果如下: 这三种模式的不同之处如下: BIO: 一个线程处理一个请求.缺点:并发量高时,线程数较多,浪费资源. Tomc ...