1:生成模块
TP6.0,默认是应用模式,所以要先开启安装多应用拓展模式,
命令行输入:composer require topthink/think-multi-app
然后再输入命令行 php think build demo 就不会出现 Command "build" is not define
2:模板标签
{eq name="data" value="1"}
{/eq}
{if $data}
{else}
{/if}
{$data['content']|raw}//让富文本内容的HTML标签起作用不显示
{$data.time|date='Y-m-d H:i:s'}//让时间戳显示成时间
3:row
在tp5中,我们一般在模板中输出变量是这样的:{$test}
但是有时候在有些源码中我们可以看到这样的方式:{$test|raw}
这个时候如果你去找手册会发现,全文基本没有提到这个raw的作用。
那么根据{}中|的作用理解,我们可以把raw当成是一个方法,全局搜索试试。
很遗憾,只在Query.php中找到一个同名方法,且这是一个类方法,PASS。
后面直接在模板中写两个,分别是带raw和不带的,刷新页面,查看runtime中的缓存文件。
结果一目了然,如下:
{$test} ------> <?php echo htmlentities($test);?>
{$test|raw} ------> <?php echo $test;?>
这个结果就是说,系统默认是过滤HTML的,如果你不想过滤的话,请在标签里加|raw这种方式,告诉系统,你需要输出HTML内容。
变量全局过滤
你可以在app\Request.php 中设置filter全局过滤属性:
class Request extends \think\Request
{
protected $filter = ["trim","htmlspecialchars","addslashes","strip_tags"];
}
[PHP]PHP中申明 declare(strict_types=1)的作用
strict_types=1 针对参数类型开启严格模式,进行数据类型检验,默认是弱类型校验
哪个文件写了declare,哪个文件中的所有代码就需要检查
declare(strict_types=1);
function foo():int{
return 1.11;
}
echo foo();
php 脚手架是什么意思,TP6常用的脚手架命令
php生成mvc的一套代码,自动生成模板和控制器,一些简单的可以生成
控制器里写url(‘’);
$local = url('xxx/xxx', ['id' => $id])->build();