thinkphp 5.0手记
场景配置,可配置多个数据库,按需求加载
数组合并:array_merge();键名相同后面覆盖前面
array_merge_recursive();键名相同,键值合并
对与http://localhost:8089/index/index/index这种格式的url 要在.htaccess文件的 RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]句子的index前加上?,代表匹配端口号, 完整RewriteRule ^(.*)$ ?index.php/$1 [QSA,PT,L] TP5开发规范: * 目录命名、配置参数、非类库文件名、表名、字段名:小写+下划线 * 类文件名和其内的类名:驼峰,首字母大写,两者名字要一样
1、开启路由 url_route_on => true
2、强制开启路由 不能用正常的方式访问
3、在项目文件的配置文件conf文件中新建 route.php 文件
<?php
return[
'news/:id' => 'index/index/info' 模块/控制器/方法
]
四种方式向页面传值
直接注入对象request
1)模板变量使用函数 * 格式:变量名|函数名=参数2,参数3....
* 函数里面变量默认为第一个参数,如果变量不是第一个参数,则需要在对应位置用 ### 来占位。
* 多重函数的时候,执行顺序从左到右,把前一个函数的执行结果作为后面函数的第一个参数。 2)模板变量进行计算 +、-、*、/、%(取余)、++、-- * 格式:{$a+$b}等。
* ++和--在字符串前后会影响返回的结果,比如$a++是先返回结果再进行+1。 3)模板变量设置默认值 * 格式:{$email|default="huqin@qq.com"},如果控制器里面没有分配同名变量,则会输出这个默认值。 4)literal标签 * {literal}{/literal},在标签之内的内容是不会进行编译解析的,包括变量。
* 如果<script>标签内想不被解析的话,literal需要在script外面包裹住。 5)模板注释 * 格式:{/*内容*/}
* 使用模板注释的话,不会输出到html中。这样可以让我们尽情注释不怕被用户看到。
在模板中使用系统变量:{$Think.xxx.xxx},如 server/session/cookie/env(自己实现不了)/get/post/request
* $Think.server.HTTP_HOST
* $Think.session.id
* $Think.cookie.id
在模板中获取常量:{$Think.const.APP_PATH} 或者 {$Think.APP_PATH},两种方式均可
在模板中使用原生PHP标签:<?php ?>直接在里面和之前一样写php代码即可。可以使用模板变量,系统变量。不建议使用原生,混编维护起来复杂。大多数逻辑在控制器完成。
__CONTENT__ 开启layout后,在模板中不需要继承或者是其它的一些标签,可以直接输出内容
开启layout后,fetch()会直接去找layout.html文件
*{include file='模版文件1,模版文件2,...' /} "="两边不能有空格
*登录页面中,保持登录的勾选框作用在于用户来到登录页面时是要需登录还是直接跳到首页
thinkphp 5.0手记的更多相关文章
- thinkphp 5.0 命名空间
命名空间 命名空间 ThinkPHP5采用命名空间方式定义和自动加载类库文件,有效的解决了多模块和Composer类库之间的命名空间冲突问题,并且实现了更加高效的类库自动加载机制. 如果不清楚命名空间 ...
- thinkphp 5.0 模块设计
模块设计 5.0版本对模块的功能做了灵活设计,默认采用多模块的架构,并且支持单一模块设计,所有模块的命名空间均以app作为根命名空间(可配置更改). 目录结构 标准的应用和模块目录结构如下: ├─ap ...
- 把VueThink整合到已有ThinkPHP 5.0项目中
享 关键字: VueThink ThinkPHP5.0 Vue2.x TP5 管理后台扩展 VueThink初认识 VueThink,是一个很不错的技术框架,由广州洪睿科技的技术团队2016年研发( ...
- ThinkPHP 5.0/5.1 自定义404界面的配置
★ 背景还要啥背景,就是觉得不可能用框架自带的 404 界面呗.可能跟之前的版本配置方法有点区别,在此做一下简单的笔记 框架:ThinkPHP 5.1,ThinkPHP5.0.20 ★ 配置过程♩. ...
- ThinkPHP V5.0 正式版发布
ThinkPHP5.0版本是一个颠覆和重构版本,官方团队历时十月,倾注了大量的时间和精力,采用全新的架构思想,引入了更多的PHP新特性,优化了核心,减少了依赖,实现了真正的惰性加载,支持compose ...
- thinkphp 5.0 lnmp环境下 无法访问,报错500(public目录)
两种方法: 1.修改fastcgi的配置文件 /usr/local/nginx/conf/fastcgi.conf fastcgi_param PHP_ADMIN_VALUE "open_b ...
- ThinkPHP 5.0.x SQL注入分析
前言 前段时间,晴天师傅在朋友圈发了一张ThinkPHP 注入的截图.最近几天忙于找工作的事情,没来得及看.趁着中午赶紧搭起环境分析一波.Think PHP就不介绍了,搞PHP的都应该知道. 环境搭建 ...
- thinkPHP -01- thinkPHP5.0 安装与测试
thinkPHP -01- thinkPHP5.0 安装与测试 1.thinkPHP 5 官网下载地址:http://www.thinkphp.cn/down.html 2.打开 Wampserver ...
- ThinkPHP 3.0~3.2 注入漏洞
地址:http://xx.com/index.php/Admin.php?s=/User/Public/check payload:act=verify&username[0]=='1')) ...
随机推荐
- ESET NOD32 Antivirus – 免费 3个月/ 3PC
ESET NOD32 Antivirus 3个月/ 3PC俄罗斯活动,3用户3个月免费,仅用于EAV,不能用于ESS活动地址: 点此进入申请方法:一共2封邮件,第2封含3个月许可
- ReportViewer遇到的坑
在VS2010下 使用ReportViewer的时候,用WEB导出报表,报错“”文件生成:本地报表处理期间出错.“. ” “报表定义具有无法升级的无效目标命名空间“http://schemas.mic ...
- IOS控件大全及控件大小
一 视图UIView和UIWindow iphone视图的规则是:一个窗口,多个视图.UIWindow相当于电视机,UIViews相当于演员. 1.显示数据的视图 下面几个类可在屏幕上显示信息: UI ...
- 解决:People下面选择分享可见联系人,选择多个联系人后通过短信分享,短信中只显示一个联系人
问题描述: [操作步骤]:People下导入导出中选择分享可见联系人,选择多个联系人后通过短信分享 [测试结果]:短信中只能显示一个联系人 [预期结果]:可以显示多个联系人 经过代码分析,从compo ...
- fork调用实验-缓冲区相关
先看下面一段代码: #include <unistd.h> #include <stdio.h> ; char buf[] = "a write to stdout\ ...
- Windows下C++删除清除map
清除单map(非嵌套map) #include<map> #include<string> #include<iostream> using namespace s ...
- PR4
4.1视频切换特效: 视频切换:视频和视频之间的过渡 4.2特效参数设置方法 4.3视频切换特效的技巧 多张图片,拖入特效慢. 选中多张图片 右键选中“设置所选..” 设置图片时间: 点常规后 设置完 ...
- 《DSP using MATLAB》Problem 4.13
代码: %% ---------------------------------------------------------------------------- %% Output Info a ...
- hdu1227 dp
题意:在一条路上有 n 个站点,并给定了每个站点的坐标,然后想要在 k 个站点旁边分别各建一个补给站,求所有站点到最近的补给站的距离和的最小值. 是的,毫无疑问,显然是 DP 问题,但是这题怎么递推还 ...
- 【BZOJ3295】【CQOI2011】动态逆序对
cdq分治经典例题,然而智商掉线傻逼错误坑了两天 原题: 对于序列A,它的逆序对数定义为满足i<j,且Ai>Aj的数对(i,j)的个数.给1到n的一个排列,按照某种顺序依次删除m个元素,你 ...