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页面中申明变量或方法,可以在该页面 ...
随机推荐
- vs2012 webservice创建
第一步:打开VS2012,新建空项目,注意选择.NET Framework的版本.这里我选择的是.NET Framework 4 新建好项目后,在项目中添加一个WebService项 打开这个文件,我 ...
- JAVA常见算法题(十)
package com.xiaowu.demo; /** * 一球从100米高度自由落下,每次落地后反跳回原高度的一半:再落下……求它在第10次落地时,共经过多少米?第10次反弹多高? * * @au ...
- 为什么代理属性设置成assign为了防止生成保留环来
循环引用 全部的引用计数系统, 都存在循环应用的问题, 比如以下的引用关系: 1. 对象a创建并引用到了对象b 2. 对象b创建并引用到了对象c 3. 对象c创建并引用到了对象b 这时候b和c的引用计 ...
- 输入法不能使用ctrl+shift进行切换的问题
第一种情况就是,你的输入法只有一种(而且这种输入法并不是“中文(简体) 微软拼音输入法”). 如果是只有一种输入法的话,是无法进行切换的,如果你是想要把输入法切换到无输入法状态,那么你可以通过设置任务 ...
- ubuntu 16.04 网络配置之虚拟网卡的配置
关于图形界面的配置,我这里就不多介绍了,这个很简单.这里介绍的是如何通过修改配置文件来实现虚拟网卡. 首先介绍ubuntu(我这里使用的是ubuntu-16.04)下虚拟网卡的配置 1.先用ifcon ...
- Linux用户配置sudo权限(visudo)
sudo的工作过程如下: 1,当用户执行sudo时,系统会主动寻找/etc/sudoers文件,判断该用户是否有执行sudo的权限 2,确认用户具有可执行sudo的权限后,让用户输入用户自己的密码确认 ...
- gitlab创建项目代码:
cd (当前工程文件夹目录) git init //初始化git git remote add origin http://worker.njbandou.com/KLElevator/kle ...
- 不是书评 :《我是一只IT小小鸟》
本文转自刘未鹏 博客,写的非常的好 就转回来了 设计你自己的进度条 进度条的设计是一个很多人都知道的故事:同样的耗时,如果不给任何进度提示,只是在完成之后才弹出一个完成消息,中间没有任何动态变化,那么 ...
- php装饰器
<?php /* * 用一个类来装饰另一个类,动态的给一个对象增加一些额外功能,这些功能一般是在这个对象调用方法前或方法后 * 比如我们要给User类增加一个登陆日志的功能 */ // 抽象构件 ...
- Fragment简单用法
一.示意图 二.新建一个左侧碎片布局left_fragment.xml <LinearLayout xmlns:android="http://schemas.android.com/ ...