thinkphp 5.0手记

Posted caigan的技术博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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="[email protected]"},如果控制器里面没有分配同名变量,则会输出这个默认值。

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文件



















以上是关于thinkphp 5.0手记的主要内容,如果未能解决你的问题,请参考以下文章

thinkPHP 5.0 学习笔记

ThinkPHP 5.0 配置

THinkPHP 5.0 域名路由

thinkphp5.0与thinkphp3.2之间的区别

thinkphp 5.0整合phpsocketio完整攻略,绕坑

thinkphp 5.0 index.php????????????????????????????????????????????????