Db::query
执行原生sql报错查不出原因
直接加上括号就行(sql)
-------------------------------------------------------------
下载TP5完整版,,不用核心版的原因是怕以后各种出错
配置Nginx 入口文件 是 public/index.php
所以配置网站目录是 xxx/public
location / {
index index.html index.htm index.php;
#autoindex on;
if (!-e $request_filename){
rewrite ^(.*)$ /index.php?s=/$1 last;
}
}
--------------------------------------------------------------------------
因为几十个前端模版是html
去配置tp5的路由
':actionxhxx$' => 'index/Index/:actionxhxx',
这样子访问xxx.cn/xxx.html 畅行无阻
然后使用批量处理模版的函数 初始化就完成了 几十个模版一下子就完成解析了
function __construct(){
//还原父类初始化操作
if(get_parent_class() != ''){
parent::__construct();//调用父类
}
$this->assign(['title' => db_get_val("首页标题")
,'description' => db_get_val("简介")
,'keywords' => db_get_val("关键字")
]);
}
注意 用了魔术方法一定要 还原下 之前的操作parent::__construct();
不然就会报错
-------------------------------controller目录写功能的代码--------------------------------------------
-------------------------------model目录写修改数据的代码--------------------------------------------
------------------------------------------是不是经常为控制器不存在而烦恼-----------------------------------------------
什么大小写,改完了 坑 完再坑
// 是否自动转换URL中的控制器和操作名
'url_convert' => false,
-----------------------------验证码--------------------------------------------------
首先使用Composer安装think-captcha扩展包:
composer require topthink/think-captcha
$img=(new \think\captcha\Captcha())->entry();
分离的验证码 是png图片 可以给app使用
<div><img src="{:captcha_src()}" alt="captcha" /></div>
文档的其他验证码用法不建议用
-----------------------控制器内切换到另一个------------------------------------
第一种写法
$result= \think\Loader::action('user/login/userlogin',$arr);
第二种写法
$Event = \think\Loader::controller('user/login');
$result=$Event->userlogin($arr);
----------------------------------------------------------------------
tp5 截取输出流
Hook::add('app_end',function($obj){
$ret = ob_get_contents().$obj->getContent();#获取,输出结果。可能不稳定,请确保bug不产生。
});
--------------------------------------------------------
tp5配置
// 时间字段是否自动格式化输出
'datetime_format' => false,
============================
tp5模型对象转数组
collection($ret['list'])->toArray();
---------------------------------------------
说明 请求类型 生成路由规则 对应操作方法
列表 GET blog index
创建 GET blog/create create
创建保存 POST blog save
id读详情 GET blog/:id read
id读数据 GET blog/:id/edit edit
id更新数据 PUT blog/:id update
id删除数据 DELETE blog/:id delete
-----------------------------------------------------------
#TP数据库操作bug代码 Db不能引用到一半 然后 去链接其他库 再继续操作
Db::table('xx')->insert([
'name' => Db::connect($mongo_db)->name($mongo_sheet)->where('id',1)->value('name'),
]);
/*
本来想insert 默认库.xx表
最后执行的insert 是在connect($mongo_db)数据库里insert了
然后提示表字段不存在 报错
有喜欢写简约代码的人注意啦,很容易引发BUG
*/