ThinkPHP框架常见问题集锦(会不断更新)

1、在linux服务器部署时,提示找不到模板
①模板文件确实存在
②权限也没有问题

当时部署时,TaskController里在展示view模板时

$this->display('task/process');

而在服务器上View里存放的在Task(大写)目录下的process.html
问题分析:大小写的问题,linux文件系统对文件大小写比较敏感,所以读取不到模板。

这里需要大家在开发的时候要养成个好习惯,展示模板时控制器名字用首字母大写的方式

2. TP框架pathinfo模式分页不支持汉字的问题

问题描述: 在项目中通过关键字模糊匹配时会遇到经常输入汉字的情况,这时分页生成的数据,汉字会被编码,导致搜索结果出现异常。
比如说这种url模式 http://army.com/index.php/Log/index/desc/%E5%90%8E%E5%8F%B0/p/2.html(乱码部分就是被编码的汉字)
解决方法: 可以在配置文件中修改 ‘URL_MODEL’ => 3, 改成兼容模式可以避免这种问题。

3、模板布局Layout

在项目开发中,如果开启了模板布局,在conf.php有如下配置

    'LAYOUT_ON'=>true,
    'LAYOUT_NAME'=>'layout',

如果某些页面不需要使用布局模板功能,可以在模板文件开头加上 {NOLAYOUT} 字符串。或者在控制器中动态实现,在渲染前加入如下代码

layout(false);

4、Post请求使用create()方法生成输入数据时,如何添加新数据
大家在用到框架自带的验证方法时,通常会用到 $model->create()方法自动生成数据,有时候会发生这几种情况

生成的数据还想多加几个字段
如果有特殊数据比如说时间转化
这时可以直接

$model->属性 = ‘属性值’

的方法赋值即可。

你可能感兴趣的:(模板,thinkphp)