ThinkPHP
ThinkPHP是一个免费开源的,快速、简单的面向对象的轻量级PHP开发框架,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简代码的同时,更注重易用性。遵循Apache2开源许可协议发布,意味着你可以免费使用ThinkPHP,甚至允许把你基于ThinkPHP开发的应用开源或商业产品发布/销售。
玲曦
这个作者很懒,什么都没留下…
展开
-
使用url生成地址时不加html结尾
{:url('/documentpreview','','')}2,3参数留空即可原创 2020-04-20 10:09:26 · 602 阅读 · 0 评论 -
thinkphp6 mkdir(): Permission denied权限被拒绝
修改runtime权限777原创 2019-11-20 15:34:13 · 2453 阅读 · 0 评论 -
thinkphp6.0 开启调试模式以及Driver [Think] not supported
https://blog.csdn.net/qq_39042062/article/details/103060537转载 2019-11-20 15:28:33 · 697 阅读 · 0 评论 -
时间查询操作
// 大于某个时间where('create_time','> time','2016-1-1');// 小于某个时间where('create_time','<= time','2016-1-1');// 时间区间查询where('create_time','between time',['2015-1-1','2016-1-1']);// 大于某个时间Db::tab...原创 2019-11-19 14:33:30 · 251 阅读 · 0 评论 -
生成带logo二维码
public function index(){ vendor('phpqrcode.phpqrcode'); $qr = new \QRcode(); $vcard = "BEGIN:VCARD". "\nVERSION:3.0". "\nFN:测试". "\nTEL;CELL;VOICE:123". "\nTEL;WORK;VOICE:1...原创 2019-11-03 13:41:10 · 232 阅读 · 0 评论 -
简单实现钩子(Hook)行为的方法示例
本文实例讲述了Thinkphp5框架简单实现钩子(Hook)行为的方法。分享给大家供大家参考,具体如下:实现在一个方法开始和结束加入两个行为:api_init、api_end框架的搭建和模块的建立这里就省略了,请不太熟练的同学自行学习。1,先创建一个行为类 \application\api\behavior\AopTest.php<?phpnamespace app\api\beh...原创 2019-10-30 10:00:50 · 976 阅读 · 0 评论 -
视图输出字符串内容替换
1.在通常app目录,config…php配置// 视图输出字符串内容替换'view_replace_str' => [ '__ASSETS_CANDIDATE__' => '/assets/index/candidate',],使用:<link rel="stylesheet" type="text/css" href="__ASSETS_CANDIDATE...原创 2019-10-30 09:45:53 · 524 阅读 · 0 评论 -
使用$this->fetch();返回视图结果全是字符串
浏览器变这样,最后用return view();就可以。。原创 2019-10-26 15:18:04 · 641 阅读 · 0 评论 -
thinkphp5+qrcode生成二维码
转载至: https://www.cnblogs.com/zxf100/p/7904054.html1.下载二维码插件Phpqrcode,地址 https://sourceforge.net/projects/phpqrcode/files/,把下载的文件夹放到\thinkphp\vendor下2.在控制器里(也可在公共函数库里)添加函数qrcode();public function qr...原创 2019-10-25 15:47:36 · 606 阅读 · 0 评论 -
复杂条件查询
$map = [['id', '=', 123], ['title', 'like', '%123'],];$where = ['type' => 1, 'group' => 0,],Db::name('xxx')->where([$map])->where($where)->find();原创 2019-10-09 16:43:48 · 205 阅读 · 0 评论 -
thinkphp5 bind like的写法
thinkphp5 mysql like 是如何bind的呢?Db::table(‘article’)->where(‘title like :title’)->bind([‘title’ => ‘%xxx%’])->select();其中xxx可以作为变量传进来。...原创 2019-10-09 16:42:33 · 764 阅读 · 0 评论 -
bind方法用于手动参数绑定
bind方法用于手动参数绑定,大多数情况,无需进行手动绑定,系统会在查询和写入数据的时候自动使用参数绑定。bind方法用法如下:// 用于查询Db::table('think_user')->where('id',':id')->where('name',':name')->bind(['id'=>[10,\PDO::PARAM_INT],'name'=>...原创 2019-10-09 16:39:26 · 657 阅读 · 0 评论 -
同时插入前端用户填写的文本框多个值
可以看到有三个文本框,且是动态添加前端代码:后台接收category,多维数组使用循环foreach ($data['name'] as $k=>$v){ $arr = array( 'id' => "", 'name'=>$v, 'sort'=>$data['sort'][$k] ); //var_dump($arr); //Db::na...原创 2019-09-30 10:37:34 · 648 阅读 · 0 评论 -
怎么拿到前端多个文本框的值
name里多一个数组就行了原创 2019-09-29 16:24:23 · 337 阅读 · 0 评论 -
thinkphp5中Indirect modification of overloaded element of XXX has no effect的解决办法
最近在使用Thinkphp5做foreach循环嵌套的时候报错:Indirect modification of overloaded element of XXX has no effect,网上搜索了一下,很多框架会报这个错误,比如Laravel、YII、Thinkphp5等,错误的直译意思为:间接修改XXX的重载元素没有效果。解决办法是设置一个中间变量。上文转载至: https://www...原创 2019-09-27 14:41:29 · 12534 阅读 · 0 评论 -
上传文件到阿里云oss
先用composer切换到项目根目录执行composer require aliyuncs/oss-sdk-php安装好了后如图模块创建aliyunoss,并创建相应的控制器视图文件夹,在aliyunoss文件夹下创建common配置文件<?phpnamespace app\aliyunoss\controller;use think\Controller;use thin...原创 2019-09-20 09:44:06 · 410 阅读 · 0 评论 -
view助手函数
传递一个参数return view(‘aa’);application\index\view\index下找aa.html的文件传递两个参数:return view('public/aa');application\index\view\public下找aa.html的文件点杠开头寻找入口文件同级文件return view('./aa');...原创 2019-09-16 22:33:22 · 323 阅读 · 0 评论 -
请求对象参数获取
获取url信息和简单的使用echo 'domain=======>当前域名: ' . $request->domain() . '<br/>';// 获取当前入口文件echo 'file=======>当前入口文件: ' . $request->baseFile() . '<br/>';// 获取当前URL地址 不含域名echo 'url=...原创 2019-09-15 19:49:17 · 239 阅读 · 0 评论 -
隐藏index.php入口文件
public下.htaccess配置文件<IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ...原创 2019-09-12 15:32:59 · 286 阅读 · 0 评论 -
接收post,get参数
引入Request类use think\Request;方法里引入Request $request public function index(Request $request){ // parma 表示接收所有传过来的参数 不管是post请求还是get请求 parma都能接收到参数 $data = $request->param(); // post表示...原创 2019-09-12 17:22:39 · 390 阅读 · 0 评论 -
详解目录
版权声明: 本文中robots.txt资料来自:https://blog.csdn.net/hanpoyangtitan/article/details/1601728下载后文件如下:application可设置的应用目录,我先看这里index文件夹为一个模块,无需多说command.php 命令行工具配置文件,亦名为控制台配置文件,当以命令行执行tp便读取此配置common.ph...原创 2019-09-12 23:06:00 · 241 阅读 · 0 评论 -
tp基础小练习
创建一个common模块,然后访问此时报错:因为common.php已经被tp作为公共模块,tp框架不允许通过url访问。那么可以通过index模块访问<?phpnamespace app\index\controller;use app\common\controller\Index as commonIndex;class Index{ public func...原创 2019-09-12 23:37:07 · 99 阅读 · 0 评论 -
惯例配置
本问部分内容转载:https://blog.csdn.net/u014436246/article/details/50353663convention.php tp惯例配置文件在thinkphp目录下随便添加一个public function index(){ // config()TP的助手函数,不填参数,将返回应用当前惯例配置 dump(config()); retu...原创 2019-09-13 13:06:37 · 224 阅读 · 0 评论 -
扩展配置
在conf新建文件夹extra必须这个名字新建一个email.php文件<?php return [ 'host'=>'460110071@qq.com', ];在index首页打印看一下dump(config());结果:这里的email是tp框架在扩展配种默认将文件名当作扩展key,也有特例返回数组的时候...原创 2019-09-13 20:37:47 · 255 阅读 · 0 评论 -
模块单独配置
之前写的文章讲的配置是所有模块都生效模块单独配置只对指定模块有效模块配置:专门为单个模块提供配置服务,之前的扩展配置和场景配置都是相对整个项目应用级别的,而模块配置是相对模块级别,作用域不同依旧在conf文件夹下建立index文件夹, 必须与模块名相同**建立一个config.php文件<?php return [ 'user_id' => 'indexUserI...原创 2019-09-14 02:18:19 · 294 阅读 · 0 评论 -
初学记录之不细心,debug无效一直显示关闭调试模式 页面错误!请稍后再试
是我自己在入口文件指定了配置目录导致的问题,将index.php修改即可原创 2019-09-14 03:03:36 · 199 阅读 · 0 评论 -
动态配置
之前学习了整个应用配置和对模块的单独配置动态配置用于当前控制器或者某个方法里面进行动态的改变设置我们想只需要在当前控制器生效,需要一个构造方法,这里使用index.php<?phpclass Index{ public function index() { dump(config()); } public function __constru...原创 2019-09-14 03:30:13 · 1188 阅读 · 0 评论 -
config类和config助手函数
config助手函数为config类封装,是对config类的简化比如使用助手函数不需要引入Config类的命名空间,直接用就行使用Config类方式1.直接指定目录$res = \think\Config::get();2.直接引入即可use think\Config;就可以不用写路径了$res = config();等于助手函数效果是一样的。源码分析:所有的助手函数...原创 2019-09-14 12:57:08 · 1899 阅读 · 0 评论 -
thinkphp5 .env环境变量配置不起作用
按照官方的说法如下:那么新建.env文件,随便写一个通过这中方式获取使用前一定要引入use think\Env;原创 2019-09-14 16:19:57 · 2494 阅读 · 0 评论 -
入口文件
单入口文件: 应用程序所有http请求都由某一个文件接受并由这个文件转发到功能代码中单入口优势:安全检测只需要在入口文件中在入口文件可以过滤掉无效的请求,假如是多入口还需要不同的文件进行相同的操作// 定义应用目录define('APP_PATH', __DIR__ . '/../application/');// 加载框架引导文件require __DIR__ . '/../thi...原创 2019-09-14 19:12:01 · 1423 阅读 · 0 评论 -
入口文件的绑定
**!请勿自定义路由到其他模块,否则你指定的不生效**我们可以看到有一个admin模块,现在将它绑定到入口文件在public下修改index访问网站就可以看到效果如果我们想直接访问Index控制器某个方法,加上index就行了打开浏览器查看效果接下来模拟绑定一个api <?php// 定义应用目录define('APP_PATH', __DIR__ . '...原创 2019-09-14 23:09:07 · 306 阅读 · 0 评论 -
请求对象获取
在TP中方式让我们获取到request对象1.助手函数request();dump(request());2.TP下Request类引入use think\Request因为Request单例模式所以只能通过instancedump(Request::instance);3.一样引入Request类,然后在index方法传递参数 public function index...原创 2019-09-15 14:17:00 · 175 阅读 · 0 评论 -
U的使用方法
转载U方法的定义规则如下(方括号内参数根据实际应用决定):U(’[项目://][路由@][分组名-模块/]操作? 参数1=值1[&参数N=值N]’)或者用数组的方式传入参数U(’[项目://][路由@][分组名-模块/]操作’,array(‘参数1’=>‘值1’ [,‘参数N’=>‘值N’]))如果不定义项目和模块的话 就表示当前项目和模块名称,下面是一些简单的例子:...原创 2019-09-10 14:11:08 · 2756 阅读 · 0 评论