thinkphp5

thinkphp5 $this->fetch()

旧巷老猫 提交于 2019-12-03 10:47:40
模板:网页长什么样子。 模板文件:html 模板渲染:打开或加载数据到html文件。 thinkphp5的模板渲染有两种情况: a、继承了think\Controller 用return $this->fetch(); b、没有继承think\Controller 用return view(); 其中 $this->fetch()和view()的用法一样 以第二种为例,对其进行分析 1、无参数。return view(); 此时会自动定位模板文件: 当前模块/默认视图目录(view)/以当前控制器(小写)为名的目录/当前方法(小写).html application/index(当前模板)/view(默认视图文件夹)/login(文件夹,与控制器同名,不过小写)/index.html(当前方法.html) 2、有参数。 a、return view(‘edit’);//跨模板渲染文件。模板渲染文件(edit.html) 此时会自动定位模板文件: 当前模块/默认视图目录(view)/以当前控制器(小写)为名的目录/参数(小写).html application/index(当前模板)/view(默认视图文件夹)/login(文件夹,与控制器同名,不过小写)/edit.html b、return view(‘regist/lala’);//跨控制器。控制器名(小写)/模板渲染文件

phpstudy安装运行thinkphp5

浪子不回头ぞ 提交于 2019-12-02 22:43:37
1.下载并打开phpstudy, 2.找到phpstudy文件下的www下目录,并创建你开始做的项目名称 3.打开phpstudy添加网站域名 和指向网站目录,端口号默认80,如图所示: 4.去thinkphp官网下载tp框架,下载最新版本-完整版 网址:http://www.thinkphp.cn/down.html 如图所示: 5.解压后选择里面全部的文件并粘贴到phpstudy-www下项目文件夹里 如图所示: 6.这一步很关键 我也是犯了同样的错误,浏览域名依然没有进入到tp框架中,后来找到了问题并解决,问题原因,因为phpstudy设置的入口文件的问题 如图所示: 7.这样就完成了 来源: https://www.cnblogs.com/xjiaer/p/11765489.html

Thinkphp5多数据库切换

匿名 (未验证) 提交于 2019-12-02 22:11:45
http://www.zhaisui.com/article/34.html 在项目开发中需要Thinkphp5读取多个数据库的数据,本文详细介绍Thinkphp5多数据库切换 一、在database.php配置默认数据库连接 'type' => 'mysql', 'hostname' => '服务器IP地址', 'database' => '数据库名', 'username' => '用户名', 'password' => '密码', 'hostport' => '数据库端口', 二、在config.php配置第二个数据库连接 'DB_Config_1'=>[ 'type' => 'mysql', 'hostname' => '服务器IP地址', 'database' => '数据库名', 'username' => '用户名', 'password' => '密码', 'hostport' => '数据库端口' ], 三、多数据库使用 //默认数据库读取数据 $test = Db::name("test")->select(); //第二个数据库读取数据 $test1=Db::connect("DB_Config_1")->name("test")->select(); 在项目开发中需要Thinkphp5读取多个数据库的数据,本文详细介绍Thinkphp5多数据库切换 一

ThinkPHP5 php-jwt

匿名 (未验证) 提交于 2019-12-02 22:11:45
php-jwt库下载地址:https://github.com/firebase/php-jwt $key = "localhost"; //秘钥加密关键 Signature $token = array( ); //Payload $jwt = JWT::encode($token, $key); //此处行进加密算法生成jwt // $decoded = JWT::decode($jwt, $key, array('HS256'));//进行解密算法 文章来源: ThinkPHP5 php-jwt

Thinkphp5 引入第三方类库

匿名 (未验证) 提交于 2019-12-02 22:11:45
// 引入 extend/qrcode.php Loader::import('qrcode', EXTEND_PATH); // 助手函数 import('qrcode', EXTEND_PATH); // 引入 extend/wechat-sdk/wechat.class.php Loader::import('wechat-sdk.wechat', EXTEND_PATH,'.class.php'); // 助手函数 import('wechat-sdk.wechat', EXTEND_PATH,'.class.php'); 手动引入了类文件后,进行实例化需要特别注意了! 我们需要在 new 类文件()时,在类文件前面加一个 “ \ ” ,即如下: $obj = new \Test(); 文章来源: Thinkphp5 引入第三方类库

Thinkphp5中异常处理不返回页面返回Json格式的字符串

匿名 (未验证) 提交于 2019-12-02 22:11:45
TP5 把异常处理返回页面改成 json 格式 1 、进入 config.php ,找到异常页面的模板文件,把路经改成自己一会要写的文件的路径,我写的是 myException.tpl 注意后缀名是 .tpl 。 默认是这样的 更改以后 2 、可以看看 think\exception\Handle.php 的 convertExceptionToResponse 方法,大概了解一下他的模板文件的字是怎么来的。。 3 、进入到 thinkphp\tpl ,模板文件就在这里啦,默认进去时这样的 那个 think_exception.tpl 就是 tp5 默认的异常处理输出页面了。我们加多一个 myException.tpl (在 config 配置的是什么就加多一个什么) 我们看看 tp5 原来的是怎么写的 开头有一坨东西 html 中, 322 和 324 行就是输出报错信息的,把它拷在自定义的 tpl 文件中(开头的一坨只要复制 parse_file 方法即可,不然不能用) myException.tpl 代码如下 然后故意弄错一个东西,比如在控制器中不引用 Controller ,返回异常如下 OK,这样thinkphp就能返回json数据而不是页面了。 文章来源: Thinkphp5中异常处理不返回页面返回Json格式的字符串

ThinkPHP5 本地执行计划任务

匿名 (未验证) 提交于 2019-12-02 22:11:45
配置本地PHP环境,以win7为例配置: 计算机--属性--高级--环境变量--找到Path--添加上PHP的目录(注意分号;)--重启计算机 ThinkPHP 计划任务里面创建测试方法: 开始-cmd:到对应的的项目--输入你的命令(php think PlanTask test) 文章来源: ThinkPHP5 本地执行计划任务

ThinkPHP5前置操作

匿名 (未验证) 提交于 2019-12-02 22:11:45
可以为某个或者某些操作指定前置执行的操作方法,设置 beforeActionList 属性可以指定某个方法为其他方法的前置操作,数组键名为需要调用的前置方法名,无值的话为当前控制器下所有方法的前置方法。 <?php namespace app\index\controller; use think\Controller; class Index extends Controller { protected $beforeActionList = [ 'first', //在执行所有方法前都会执行first方法 'second' => ['except'=>'hello'], //除hello方法外的方法执行前都要先执行second方法 'three' => ['only'=>'hello,data'], //在hello/data方法执行前先执行three方法 ]; protected function first() { echo 'first<br/>'; } protected function second() { echo 'second<br/>'; } protected function three() { echo 'three<br/>'; } public function hello() { return 'hello'; } public function

ThinkPHP5事务回滚

匿名 (未验证) 提交于 2019-12-02 22:11:45
使用事务处理的话,需要数据库引擎支持事务处理。比如 MySQL 的 MyISAM 不支持事务处理,需要使用 InnoDB 引擎。 使用 transaction 方法操作数据库事务,当发生异常会自动回滚 1.手动控制事务 // 启动事务 Db::startTrans(); try{ $res = Db::table('user')->find(1); $rs = Db::table('user')->delete(1); if($res&&$rs){ // 提交事务 Db::commit(); } } catch (\Exception $e) { // 回滚事务 Db::rollback(); } 2.自动控制事务 Db::transaction(function(){ Db::table('user')->find(1); Db::table('user')->delete(1); }); 文章来源: ThinkPHP5事务回滚

thinkphp5 taglib自定义标签教程

匿名 (未验证) 提交于 2019-12-02 22:11:45
学着写了一下,终于搞定了,顺便分享一下! taglib是tp框架自定义标签功能,如果你用过cms,肯定见过类似: {dede:arclist typeid='' row='' col='' titlelen='' infolen='' orderby='' keyword=''} ssss... {/dede:arclist} 或者: {pc:content action="lists" cache="3600" num="20" page="$page"} {/pc} 这样的操作,这对于开发工作是挺方便的, 所以觉得有必要看下tp的taglib,教程如下: 1 、在common(我是在common,你自己看,反正是用命名空间载入)里新建目录taglib 2、在taglib里新建Cc.php 继承think的Tglib,代码如下: <?php /** * Created by PhpStorm. * User: lichenchen * Date: 2018/3/25 * Time: 下午8:34 */ namespace app\common\taglib; use think\template\TagLib; use app\common\model\Article; class Cc extends TagLib { protected $tags = [ 'articles