tp5.1专题

tp5.1 配置技巧

用config目录取代了config.php文件一级配置名称就是配置文件的名称路由配置route.php完全独立出来了模块配置与应用配置完全独立不再合并  示例代码 <?phpnamespace app\admin\controller;use think\facade\Config;class User{public function get(){//获取全部配置项//dump(Co

从0到1搭建TP5.1+Swoole3.5.15环境

参考:https://www.phpmianshi.com/?id=190 安装   首先按照Swoole官网说明安装swoole扩展,推荐新手可以直接使用   pecl install swoole   #会安装最新的稳定版(截至本文发布最新版本是4.0.3版本) 或者源码安装:   git clone https://github.com/swoole/swoole

tp5.1连接多个数据库,并使用事务

在一次项目中,遇到一个问题,我在A项目中,使用了a数据库和b数据库的数据。其中a数据库是我配置的主数据库,b是从数据库【相当于一个第三方库】,在执行一段代码时,如果a数据库操作失败,a数据库中的数据回滚,b数据库的数据也必须回滚。当时没有想那么多,就简单的用了一个Db::startTrans(),后来就出现问题了,代码抛出异常,a数据库中的数据回滚了,但是b数据库中的数据没有回滚,当时慌的一批呀,

TP5.1保存企业微信临时文件,图片,PDF,PPT等等

public static function uploadFile($url,$Folder='uploads/qywx'){if(!$url || empty($url)) OverApi('不存在此文件');$file_path = Env::get('root_path') . 'public' . DS . $Folder. DS;$_fileInfo = file_get_conten

tp5.1访问报错No input file specified

解决方法: 找到 public/.htaccess 文件,在 index.php 后面添加一个 “?”,完整代码如下: <IfModule mod_rewrite.c>Options +FollowSymlinks -MultiviewsRewriteEngine OnRewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_FILENA

tp5.1 配置虚拟域名

由于我们在本地开发项目的时候,文件比较多,因此用 localhost 或者 127.0.0.1 访问,就显得比较繁琐,进而,我们会在本地配置虚拟域名,可以较少访问时输入的内容,从而提高我们的开发效率。下面我们就以 tp5.1 为例,来为本地配置虚拟域名: 1、修改 hosts 文件 路径:C:\Windows\System32\drivers\etc\hosts 在 hosts 文件中

tp5.1里面获取KindEditor富文本里面的文本

html部分 <div class="layui-input-inline"><textarea name="content" style="width:500px;height: 300px;"></textarea></div> js部分 KindEditor.ready(function(K) {self.editor = K.create('textarea[name="cont

layui+tp5.1动态生成table表格,并进行分页

1.html部分 <table id="demo" lay-filter="test"></table><script type="text/html" id="toolbarDemo"><div class="layui-btn-container" ><button class="layui-btn layui-btn-sm" lay-event="delete">删除</button><b

tp5.1框架url重写(nginx服务器)

thinkphp5.1的url访问:https://serverName/public/index.php/模块/控制器/操作 这个需要支持pathinfo,Apache默认支持,而Nginx不支持。 1.开启php.ini中的配置参数cgi.fix_pathinfo = 1 2.配置vhosts.conf文件 然后在进行访问,结果如下,我们就将index.php入口文件隐藏掉了

tp5.1中的组合变量路由规则

组合变量规则 如果你的路由规则比较特殊,可以在路由定义的时候使用组合变量。 例如: Route::get('item-<name>-<id>', 'index/Test/detail')->pattern(['name' => '\w+', 'id' => '\d+']); 上面的这条路由可以采用如下访问方式:     组合变量的优势是路由规则中没有固定的分隔符,可以随意组合需

tp5.1设置session

<?phpnamespace app\index\controller;use think\Container;use think\facade\Env;//引入自定义类 或者 第三方类库use demo\MyDemo;use app\org;use think\facade\App;use think\facade\Cache;use think\session;use thi

tp5.1中的类的绑定

// 绑定类库标识bind('cache','think\Cache');// 快速调用(自动实例化)$cache = app('cache');  tp5.1中的绑定来到容器,我自己的理解,其实就是类的实例化(new 一个对象): 先通过bind()方法,绑定到容器 // 绑定类库标识bind('cache_test666','think\Cache');//然后调用助手函数ap

TP5.1 导出excel文件

在 ThinkPHP 5.1 中引入 PHPExcel(现在已被官方弃用,推荐使用 PhpSpreadsheet)时,可以按照以下步骤进行操作: 在 composer.json 文件中添加 PHPExcel(PhpSpreadsheet)的依赖项。找到 require 部分,并添加以下行: "require": {"phpoffice/phpspreadsheet": "^1.0"}

百度云对象存储BOS上传文件(tp5.1)

一、下载 两种下载方式 composer require baidubce/bce-sdk-php 虽然使用简单直接use就行,但是不推荐了,因为包好久没更新了官网SDK(推荐方式) 下载链接 二、使用步骤 1.配置 解压下载好的文件放在tp框架根目录下的extend 相应的控制器引入 require_once '../extend/BaiduBce.phar';use B

【TP5.1】商品生成二维码

author:咔咔 wechat:fangkangfk 业务场景: 给商品生成唯一二维码 在我们开始做这些功能的时候,需要进行类库加载 二维码:composer require endroid/qrcode Thinik图像处理:composer require topthink/think-image  在goods控制器写上修改二维码的方法 继续