Yii2中Request请求(header post get hostInfo)相关说明

一个应用的请求是用 yii\web\Request 对象来表示的,该对象提供了诸如 请求参数(译者注:通常是GET参数或者POST参数)、HTTP头、cookies等信息。 默认情况下,对于一个给定的请求,你可以通过 request application component 应用组件(yii\web\Request 类的实例) 获得访问相应的请求对象。在本章节,我们将介绍怎样在你的应用中使用这个组件。 请求参数 要获取请求参数....
  •   
  • 267
  • php
  • 0
  • dodobook
  • 2017/05/05

Yii2的全拦截路由用于网站整体维护catchAll

当网站需要维护的时候,这个时候我们就需要向用户抛出一个维护的页面,方便提醒用户,有很多方法,此处Yii2已经有了一个很好的idea就是在配置文件中增加一条记录即可。 catchAll 路由(全拦截路由) 有时候,你会想要将你的 Web 应用临时调整到维护模式,所有的请求下都会显示相同的信息页。当然,要实现这一点有很多种方法。这里面最简单快捷的方法就是在应用配置中设置下 ....
  •   
  • 229
  • php
  • 0
  • dodobook
  • 2017/05/05
text-photo

Yii2扩展yii2-imagine实现图片的裁剪加水印缩略图等

Yii2使用Extension扩展yii2-imagine实现图片的裁剪加水印缩略图等 在一些后台需要处理图片的情况下,这个时候需要对图片进行一系列的图片裁剪crop 缩略图thumbnail 水印watermark 加文字text(可引入特殊字体库)等的操作。这个时候Yii2强大的社区提供了优秀的扩展yii2-imagine。简便易行且功能强悍。 安装这个扩展的方法如下 The preferred way to install this extensio....
  •   
  • 752
  • php
  • 0
  • dodobook
  • 2017/05/03

Yii2.0中文开发向导—验证器(Validator)使用示例和详解

在Model里面先看一下验证器的使用。最好是配合到attributeLabels。 public function rules(){ return [ [['email', 'password'], 'required'], [['type','status', 'sort', 'view_count',], 'integer'], ['password', 'string', 'min'=>6], [['name'], 'string', 'max' => 100], [['create_time', 'update_time'], 'safe'], [['url'],....
  •   
  • 199
  • php
  • 0
  • dodobook
  • 2017/05/02

Yii2.0中文开发向导——查询条件Where全解析

在Yii的Model里进行查询的时候 where是必不可少的。 #Where方法声明为: static where( $condition ) #其中参数 $condition类型为字符串或者数组 1、字符串 字符串是最简单的,直接按sql中的where条件写就可以,如 $condition = "name='dodo' and age>10"; 2、数组 如果是数组的情况下,有两种格式的写法。 name-value格式的字典数....
  •   
  • 184
  • php
  • 0
  • dodobook
  • 2017/05/02

PHP判断远程文件(图片)是否存在的三种方法

当项目需要进行对远程的一些文件或者图片进行抓取到本地的时候就需要进行文件的处理,首先需要判断远程文件是否存在,下面有三种方式,仅供参考,推荐使用curl的方式。 方法一(需要服务器支持Curl组件): function check_remote_file_exists($url) { $curl = curl_init($url); // 不取回数据 curl_setopt($curl, CURLOPT_NOBODY, true); curl_setopt($curl, CURLOP....
  •   
  • 187
  • php
  • 14
  • dodobook
  • 2017/04/25

使用PHPExcel进行判断excel的类型并导入Demo

最近遇到一个小功能,需要对远程的Excel进行读取并执行任务导入到数据库里面。这个时候就需要判断Excel是2003还是2007版本了。虽然大多数都可以根据文件名进行判断,但是PHPExcel提供了更加完善的方法。PHPExcel_IOFactory::identify($excelFile); //'Excel5' 'Excel2007'得到的excel的地址。 读取远程文件到本地可以直接使用ile_put_contents($excelFile,file_get_content....
  •   
  • 249
  • php
  • 33
  • dodobook
  • 2017/04/18
aliyun_oss

PHP从网络下载图片并上传到阿里云OSS服务器的方法Demo

阿里云的oss存储越来越多的被广大开发者使用,且阿里云的存储系统可以帮开发者节省开发时间,运维时间,以及不必要的风险(老的文件系统单目录不建议超过2000个文件,文件数目过多文件索引寻找就很耗时耗资源)等。至于阿里云OSS存储的好处罄竹难书,存在即合理,现在这么流行,一定有其过人之处。 使用阿里云oss的时候建议先去看看相关的文档,且把sdk下载下来,引入到你的....
  •   
  • 523
  • php
  • 22
  • dodobook
  • 2017/04/07
Instagram_sandbox_user_1

浅谈Instagram账户授权的sandbox沙盒模型邀请用户

最近在做一个关于国外社交平台的账号绑定的接口调试工作。新建项目填写授权,接口实现等会有新的篇幅来完整的介绍。详情请见文章的底部友情链接。 这一篇主要讲邀请新用户参与到沙盒模式的简单实现。Manage Clients创建好之后,我们需要管理我们的客户端的相关信息。开发阶段我们都是以sandbox模式作为环境,且sandbox是必须的。当然沙盒模式也是有很多限制的(如下图所示)。....
  •   
  • 352
  • php
  • 42
  • dodobook
  • 2017/03/02

PHP数组元素添加到数组的头部(array_unshift)

在PHP中像数组中添加元素比较常见的是array_push函数,即数组的入栈操作,但是这个函数是将元素添加到数组的末尾,如果需要将数组元素压入到数组的头部(即第一个元素)该如何操作呢? 使用PHP内置函数 array_unshift ,下面就将 array_unshift 这个函数的用法列举一下。array_unshift该函数的作用是在数组开头插入一个或多个元素。被加上的元素作为一个整体添加,这些添加....
  •   
  • 314
  • php
  • 42
  • dodobook
  • 2017/02/21

Yii2数据库开启表结构缓存以及清除缓存

Yii2开启表结构缓存,因为当运用模型(model)时,AR的一些公共属性都会从DB中获取,这样会导致服务器负担一些额外的资源开销,实际上对于成品来说,服务器这些开始销是多余的,故应该阻止这种默认行为,把表结构进行缓存起来,提高效率.Yii2的缓存值得深入研究学习. 开启数据库表结构的schema缓存的方法: //配置文件的方式 'db'=>array( ... 'enableSchemaCache' => tr....
  •   
  • 649
  • php
  • 35
  • dodobook
  • 2017/02/15

PHP数组操作–获取数组最后一个值的方法(5种)

PHP开发过程中,可能经常需要对取出的数组要获取数组的最后健或值。在这里有以下五种方法,并且跟据他们在一些情况下如何使用的条件限制进行了说明。 <?php $array=array(1,23,3,4,5,8,66); //强烈推荐 echo end($array); //将数组的内部指针指向最后一个单元,适用于所有数组 echo $array[count($array)-1]; //计算数组长度,然后获取数组最后一个元素....
  •   
  • 325
  • php
  • 34
  • dodobook
  • 2017/02/10

Yii2数据库操作之批量插入batchInsert()

数据库真的真的很脆弱!!!在一些应用场景中,需要对一些数据进行批量的插入,例如日志,例如批量新增数据,例如数据导入等。大多数不考虑效率的情况下,可以直接使用foreach循环插入(通俗易懂简便).但是考虑性能和数据库的优化的情况下,你就一定要了解到batchInsert这个方法了。直接上代码: //要插入的表的名称 $tableName = UserTagList::tableName(); //要插入的字段 $....
  •   
  • 1930
  • php
  • 46
  • dodobook
  • 2016/12/26
light_on_off

2016滴滴出行研发工程师笔试题(亮灯问题)

一、题目 2015盏灯,一开始全部熄灭,序号分别是1-2015,先把1的倍数序号的灯的开关全部按一次,然后把2的倍数的灯的开关全部按一次,然后把3的倍数的开关按一次,以此类推,最后把2015的倍数灯的开关按一次。问最后亮着的灯有多少盏? A. 43       B. 44         C. 45      D. 46 二、解题 咋一看,这不是数学问题吗?干脆用数学解了。 先来分析一下,因为一开始的时候 2....
  •   
  • 1275
  • php
  • 41
  • dodobook
  • 2016/12/22

Yii2获取model->save()错误信息中的第一条的方法

在Yii2中经常需要对数据表的新增更新或者删除。这个时候就经常用到$model->save()的方法,且model里面的rule会对这些提交的数据进行验证。验证不通过的话,会抛出提示的信息。以下这个方法就是得到获取Model错误信息中的 第一条,无错误时返回 null 直接上代码。 //获取 Model 错误信息中的 第一条,无错误时 返回 null public static function getModelError($model) {....
  •   
  • 1761
  • php
  • 32
  • dodobook
  • 2016/12/13
PHP得到最近一周的日期已经得到某个月的实际天数Date

PHP得到最近一周和某月\某年的实际天数Date(t)\Date(z)

最近有一个接口的需求需要统计最近一周的相关的数据(如下图),也需要统计日均数据(因为月份是可以随意切换的,所以也就需要得到每个月有多少天的数据)。此处我写了一个简单的方法用于公共调用,当然有更好的方法。 温馨提示 Date('t',$time); //PHP日期函数得到某个月的真实天数 /** * 用于获取最近一周的日期列表 * 用于计算每个月的天数(本月的话截止到今天2016-12-0....
  •   
  • 603
  • php
  • 42
  • dodobook
  • 2016/12/08

PHP中array_key_exists()与isset()以及??的区别

PHP中array_key_exists用于检查某个键名是否存在于数组中,而isset也可以用于检测数组中某个键名是否存在,那么二者有什么区别呢? 一个基本的区别是isset()可用于数组和变量,而array_key_exits()只能用于数组。 但是最主要的区别在于在设定的条件下的返回值。现在我们来验证一下这个最主要的区别。 array_key_exists() array_key_exists() 会检查键值的存在. 这个函数会返....
  •   
  • 560
  • php
  • 29
  • dodobook
  • 2016/11/21

PHP获得两个或多个数组交集与差集的方法

在一些常见的场景下面,例如有一大群用户列表,需要获得一部分包含某个标签的用户列表,不包含某个标签的用户列表。就需要用到交集,共同含有的标签,差集不包含某个标签。 这篇文章主要介绍了PHP获得数组交集与差集的方法,实例分析了array_intersect与array_diff方法在求数组交集与差集时的使用技巧,需要的朋友可以参考下 本文实例讲述了PHP获得数组交集与差集的方法。分....
  •   
  • 475
  • php
  • 34
  • dodobook
  • 2016/11/18

PHP使用Yii2实现LinkedIn(Api)授权登录并获取信息Demo

在已经安装好相关的扩展的情况下(若未安装Yii2的扩展请移步参考底部的安转的相关文章),注册开发者账号,配置开发者相关的信息。 之后直接上代码:LinkedinController.php <?php /** * User: Dodobook * Date: 2016/11/1 08:08:08 */ namespace app\controllers; use Yii; use yii\web\Controller; use yii\httpclient\Client; use yii\authclient\clien....
  •   
  • 580
  • php
  • 36
  • dodobook
  • 2016/11/08

PHP使用Yii2实现Facebook(Api)授权登录并获取信息Demo

在已经安装好相关的扩展的情况下(若未安装Yii2的扩展请移步参考底部的安转的相关文章),注册开发者账号,配置开发者相关的信息。 之后直接上代码:FacebookController.php <?php /** * User: Dodobook * Date: 2016/11/1 08:08:08 */ namespace app\controllers; use Yii; use yii\httpclient\Client; use yii\web\Controller; use yii\authclient\clien....
  •   
  • 492
  • php
  • 26
  • dodobook
  • 2016/11/08