TP5笔记--持续更新

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
*/

猜你喜欢

转载自blog.csdn.net/xiaohxx/article/details/80242590
tp5