thinkphp5.1 的else if的使用方法】的更多相关文章

在建立网站的时候,你通常想着把一些共有的方法提取出来,放入一个控制器内,如果你是将业务逻辑写入了构造函数里面,那么就得注意了. 在thinkphp5.0当中,有一个初始化的方法,类似于构造函数,那就是_initialize(). 但是如果你在父类和子类当中同时使用该方法时,会将父类的_initialize()方法覆盖掉. 如下:我贴出部分代码: class Admin extends CommonMethod { private $adminModel; public function _ini…
首先thinkphp5.1获取session值是 {$think.session.user_id}或者{$Request.session.user_id}来获取session 下面是if else 的用法 跟不用框架有些许的不一样…
首先数据库基本查询是没有问题的 <?php namespace app\index\controller; use think\Db; class Demo5 { //1.单条查询 public function find() { $res = Db::table('customers') ->field('Name,CustomerID') ->where('CustomerID', '=', 1) ->find(); dump(is_null($res) ? '没有找到' :…
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="WPurls" enabled="true" stopProcessing="true"> <match url="…
过去的单字母函数已完全被替换掉,如下:S=>cache,C=>config,M/D=>model,U=>url,I=>input,E=>exception,L=>lang,A=>controller,R=>action 使用助手函数 input('?get.id'); // I('get.id');input('?post.name'); // I('post.name');…
thinkPHP5.0框架 查询数据库调用Excel方法 public function exportlist(){ $orderModel = new OrderModel(); if($start_time = $this->request->param('start_time','')){ $orderModel->where(function($query) use($start_time) { $query->where('created_at','>=',$sta…
利用谷歌调式工具发现,图片大小直接影响着首屏加载时间. 且考虑到后期服务端压力,图片压缩特别必要. 本文是前端利用canvas实现图片.参考文章:https://www.cnblogs.com/007sx/p/7583202.html 本文将其改为插件形式,适合单文件压缩,多文件可以采用生成多个二进制文件的方法,然后一并上传.具体后面研究. 说说原理,压缩涉及三个关键点: 1,一个图片前端可被加载,基于file:协议的路径是不能产生onload事件,所以需要借助浏览器的接口将图片转为可加载文件,…
JAVA学习总结    2 第一天    2 1:计算机概述(了解)    2 (1)计算机    2 (2)计算机硬件    2 (3)计算机软件    2 (4)软件开发(理解)    2 (5)语言    2 (6)人机交换    2 2:键盘功能键的认识和快捷键(掌握)    2 (1)功能键的认识    2 (2)快捷键    3 3:常见的DOS命令(掌握)    3 (1)常见的如下    3 (2)其他的几个(了解)    3 4:Java语言概述(了解)    4 (1)Jav…
这篇文章主要介绍了thinkPHP5.0框架验证码调用及点击图片刷新简单实现方法,结合简单示例形式分析了thinkPHP5框架验证码相关配置.后台验证.前台刷新等操作技巧,学习thinkphp源码的朋友可以参考下,具体如下:   1.配置文件中增加验证码配置 'captcha' => [ // 验证码字符集合 'codeSet' => '23456789', // 验证码字体大小(px) 'fontSize' => 25, // 是否画混淆曲线 'useCurve' => fals…
ThinkPHP5大量的使用了这种可以直接使用::调用的方法,它们有一个很响亮的名字:静态方法.静态方法的引用,大幅提升了程序的运行效率,降低了资源的占用. 静态方法(ASK$ANSWER) 为什么要有静态方法? 可以降低内存的占用. 提高程序的执行效率. 什么时候用静态方法? 当这个方法与具体的对象无关时. 总结(比较抽象):> 虽然我们把方法都写在了一个类中,但是却有所区别.> 静态方法:有类,就可以被调用,与类相关联.> 非静态方法:只有存在对象的时候,这个方法才可以被调用,与对象…
现在很多网站的数据量的很多,如果全部在一页里显示效果不好,数据量太大,那怎么办?这时我们就需要分页,而分页的好处就是分段显示数据,这样页面就不用加载很多数据,需要时才加载,下面我教大家实现ThinkPHP5分页. 在分页之前我们要先引入bootstrap的css. 第一种:使用limit实现分页(不建议使用) limit方法也是模型类的连贯操作方法之一,主要用于指定查询和操作的数量,特别在分页查询的时候使用较多.ThinkPHP的limit方法可以兼容所有的数据库驱动类的. 代码示例: Db::…
漏洞描述 由于ThinkPHP5框架对控制器名没有进行足够的安全检测,导致在没有开启强制路由的情况下,黑客构造特定的请求,可直接GetWebShell. 漏洞评级 严重 影响版本 ThinkPHP 5.0系列 < 5.0.23ThinkPHP 5.1系列 < 5.1.31 安全版本 ThinkPHP 5.0系列 5.0.23ThinkPHP 5.1系列 5.1.31 ThinkPHP5.*版本发布安全更新 本次版本更新主要涉及一个安全更新,由于框架对控制器名没有进行足够的检测会导致在没有开启强…
这一段在用thinkPHP5开发微信小程序接口的时候,在同一个控制器一个方法中存入session,在另一个方法中取出session,一直都是无法取出. 查阅各种资料得到原因:thinkPHP5里面的session是给浏览器用的,非浏览器的方式是没有办法访问到那个session的,只能用其他方式来代替session. 对策: 1.(推荐)使用TP5自带的缓存方法 可以完美代替session,甚至可以每条手动设置时间,比session更方便, (用过tp5自带session的肯定知道,session…
首先,我要吐槽一下.我查了很多博客用tp框架使用composer方法结合 QueryList的教程.就是没有找到非composer的方法.于是摸索总结成功的经验: 工具:phpQuery.php 和 QueryList.php 两个文件.thinkPHP5 框架. 注意,这里我使用的是QueryList3版本. 建议:为了显示错误信息,建议把controller中的config.php的debug模式打开. 首先,先在tp5的extend中创建文件夹QL,并将phpQuery.php 和 Que…
我们更希望看到: // 新增对象至数据表 $result = $Teacher->validate(true)->save(); 而不是: // 新增对象至数据表 $result = $Teacher->validate(true)->save($Teacher->getData()); 原因很简单的,上面的写法才是真正的面象对象.正确的思想是:我们给一个对象赋值,然后对这个对象进行验证.显然,上面的写法更贴近我们的真实想法. ThinkPHP是一个开源的软件,我们可以在Gi…
一个场景:用户保存自己的昵称,如果已经有其他用户用了这个昵称则不允许保存,但是要排除当前用户自己,因为如果用户未作修改,新昵称和老昵称一样,是可以保存的. 因为昵称定义了唯一规则: 'name' => 'unique:user', 所以即便是当前用户也不能保存未经修改一样的昵称. 解决方法:在控制器中,就把uid(主键)通过验证器唯一通道 $data参数传递给验证器 //控制器代码 $data['uid'] = 10; $validate = $this->validate($data, 'a…
先去检查服务器设置,这个网上方法很多就不说了,如果服务器没问题还是报这个错误的话可能和php版本有关 php5.4和以下版本的.htaccess <IfModule mod_rewrite.c> Options +FollowSymlinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,P…
我们更希望看到: // 新增对象至数据表 $result = $Teacher->validate(true)->save(); 而不是: // 新增对象至数据表 $result = $Teacher->validate(true)->save($Teacher->getData()); 原因很简单的,上面的写法才是真正的面象对象.正确的思想是:我们给一个对象赋值,然后对这个对象进行验证.显然,上面的写法更贴近我们的真实想法. ThinkPHP是一个开源的软件,我们可以在Gi…
在项目中,header和footer重复使用的次数高,于是我们把header和footer作为公共部分,其他模板需要的话就引用.下面我教大家引用公共模板 1.使用include 首先在view下面新建一个文件夹(common),用来存放公共模板,然后使用include在需要的地方引用该板块: {include file="common/head" /} 可以一次包含多个模版,例如: {include file="public/header,public/menu"…
以user为例,调用user.php的get_number()方法 一.不管是调用自身模块还是其他模块app\model\User.php写法不变 <?php namespace app\index\model; use think\Model; class user extends Model { public function get_member(){ return 3; } } 二.user控制器调用user模块(即控制器调用自身模块) <?php namespace app\inde…
其实很久之前刚学习tp5框架的时候就遇到了这个问题,解决完后一直没再出过问题,今天用以前的框架做新项目时又碰到了这个问题,这里记录一下 问题原因: 1.TP5本就存在这个bug 2.数据库连接不正常(项目连接数据库不正常时验证码也会不显示) 解决方法: 1.TP5自身bug,在TP5官网论坛是给了对应方法解决的.在获取验证码前清除一下缓存就行了 /* * 获取验证码 * */ public function getVerify() { $config = [ 'fontSize' => 28,…
一.来到根目录下,找到bulid.php文件进行改写. 改写方法:保留常用的目录结构,其余按照需求改吧! 二.复制一份build.php文件到application目录下 此时根目录下的bulid.php文件可以删除了,tp5生成目录结构和文件用到的是application里面的bulid.php文件, 但是根目录下的建议留下下次使用. 三.打开cmd来到tp5.0的根目录下. 四.运行以下代码(开始编译生成文件). php think build --config build.php 五.生成…
空模块 'exception_handle' => function(Exception $e){ // 参数验证错误 if ($e instanceof \think\exception\ValidateException) { return json($e->getError(), 422); } // 请求异常 if ($e instanceof \think\exception\HttpException && request()->isAjax()) { ret…
1.安装插件 composer require phpmailer/phpmailer 2.application下的common.php文件里加上一下代码,可自己根据需求稍加修改,我用的是验证码 use PHPMailer\PHPMailer\PHPMailer;//引入邮件类 function mailto($user,$code) { //实例化PHPMailer核心类 $mail = new PHPMailer(); //$mail->SMTPDebug = 1;#是否启用smtp的de…
1.下载installer的文件,使用浏览器开启链接:getcomposer.org/installer,下载如下文件到 E:\xs2016\composer, 将installer重命名为composer_installer.phar 2.运行cmd ,开启命令行,进入 composer_installer.phar 所在目录 输入 PHP composer_installer.phar, 如果出现 xdebug 的提醒. 开启PHP.INI ;zend_extension = "d:/wam…
获取原始数据 如果你定义了获取器的情况下,希望获取数据表中的原始数据,可以使用: $user = User::get(1); // 通过获取器获取字段 echo $user->status; // 获取原始字段数据 echo $user->getData('status'); // 获取全部原始数据 dump($user->getData());…
原文链接:http://www.zhaisui.com/article/42.html…
在需要访问的域名的conf文件中,比如 vim /etc/nginx/.com.conf location / { // …..省略部分代码 if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=/$ last; break; } }…
入口文件后加一个空格就行了 1,首先cd到站点目录public下,我的入口文件是默认的index.php,然后执行以下命令,, 2,php要加入环境变量,index.php后面加空格,然后是模块,控制器,方法名 php index.php home/index/test…
1 官网下载layer 2 引入文件: <!--layer,官网可下载--> <script type="text/javascript" src="/static/home/layer/jquery.min.js"></script> <script type="text/javascript" src="/static/home/layer/layer.js"></sc…