Yii2

Yii2.0中的COOKIE和SESSION用法

Yii2的Cookie主要是通过yii/web/Request和yii/web/Response进行操作的,Yii2的Session比较简单 ,直接通过/Yii::$app->session进行操作就好了。本文给大家介绍COOKIE和SESSION用法,需要的朋友参考下 1、Cookie Yii2的Cookie主要是通过yii/web/Request和yii/web/Response进行操作的 ,通过/Yii::$app->response->getCookies()->add()添加Cookie,通过/Yii::$app->request->cookies读取Cookie. 1)添加一个Cookie 2) 读取一个Cookie 3) 删除Cookie 4) 注意 对Cookie进行增删改时调用的response , 对Cookie读取时使用的是Request 2、Session Yii2的Session比较简单 ,直接通过/Yii::$app->session进行操作就好了 1) 添加一个session 2) 读取一个session 3) 删除Session

blueidea

调用Yii::getAlias与Yii::setAlias的用法

别名用来表示文件路径和URL,简化引用,避免在代码中编码一些绝对路径和URL。一个别名必须以‘@’字符开头,以区别于传统的文件路径和URL。定义别名:调用Yii::setAlias()给文件路径或URL定义别名:// 文件路径的别名Yii::setAlias(‘@foo’, ‘/path/to/foo’);// URL 的别名Yii::setAlias(‘@bar’, ‘http://www.example.com’);注意:别名所指向的文件路径或 URL 不一定是真实存在的文件或资源。可以通过在一个别名后面加斜杠 / 和一至多个路径分段生成新别名(无需调用 Yii::setAlias())。我们把通过 Yii::setAlias() 定义的别名称为根别名,而用他们衍生出去的别名成为衍生别名。例如,@foo 就是根别名,而 @foo/bar/file.php 是一个衍生别名。你还可以用别名去定义新别名(根别名与衍生别名均可):Yii::setAlias(‘@foobar’, ‘@foo/bar’);解析别名:调用Yii::getAlias解析别名到对应的文件路径或URL:如// echo Yii::getAlias(‘@webroot’); // D:/path/yiibasic/web// echo Yii::getAlias(‘@app’); // D:\path\yiibasic// echo Yii::getAlias(‘@web’); // /yiibasic/web注意:Yii::getAlias() 并不检查结果路径/URL 所指向的资源是否真实存在。系统定义的路径别名:@yii – BaseYii.php 文件所在的目录(也被称为框架安装目录)@app – 当前运行的应用程序的基本路径 yii\base\Application::basePath@common – 公共文件目录@frontend – 前端web应用程序目录@backend – 后端web应用程序目录@console – 控制台目录@runtime – 当前运行的应用的 yii\base\Application::runtimePath@vendor – yii\base\Application::vendorPath@webroot – 当前运行应用的 Web 入口目录@web – 当前运行应用的根 URL

blueidea

YII2 where查询条件整理

本文转自:https://www.yiichina.com/tutorial/1405 官方文档:http://www.yiichina.com/doc/guide/2.0/db-query-builder 文章涉及where、 addParams 、filterWhere 、andWhere、orWhere、 andFilterWhere()、 orFilterWhere()、andFilterCompare()但是格式是一样的 字符串和哈希格式很好理解,我们来看看操作符格式,因为操作符格式可以组成相对复杂的查询语句最简单的就是官方给的例子 操作符格式 第一个参数是操作符操作符包括and、or、 like、in、 between等第二个第三个都是操作数 $query->andWhere(new Expression(‘FIND_IN_SET(‘1,size’)’));+生成的语句… WHERE id=1 AND FIND_IN_SET(1, size)//size的值:1,2,3,4,5

blueidea

yii2记数,自动累加

文章一般都有统计浏览次数的需求,一般小型项目的做法就是直接 update 数据库中的某个字段。在 Yii 中怎么实现呢?请往下看: 实现 方式一 Yii2 中有这个 updateAllCounters 静态方法,这种方式是最快并且最省事的实现方式,代码示例如下: 如果你的条件比较复杂你可以这样写: 如果你现在的需求是:更新一个字段的值,一个字段的值 +1,你可以试着用这种方式去实现: PS:此处的 view_count 字段默认值切记不能设置为 null。 Expression 是表达式的意思,可以实现更多特殊 SQL,想了解更多,可以去搜索一下文档。 方式二 当然你还可以这样去实现:

blueidea

yii2 swift mailer 发送邮件不成功的问题

今天调试yii2自带的swift mailer发邮件,开始调试时,发送用的send()方法始终返回true,但是就是没有收到邮件,很是纳闷,于是开始了半个晚上的调试之旅,我把调试过程发出来,希望后面的小伙伴能少走一些弯路。首先,根据热心网友的文章,配置邮箱的基础信息,我用的base项目,所以我的配置文件是web.php,配置内容为:        ‘mailer’ => [            ‘class’ => ‘yii\swiftmailer\Mailer’,            ‘transport’ => [                ‘class’ => ‘Swift_SmtpTransport’,                ‘host’ […]

blueidea

关于上一页与下一页实现细节

我想要把题库设计一下翻页功能,Mysql语句也很简单,在本地测试一点问题都没有,但是一放到服务器上便提示内存资源耗竭,最后在查看了一些资料后,在后面加了一个limit 1,如此便跑得飞快: 实现代码: 下面是参考内容: seq 是自增序列,random_code是id,title是博客标题。 seq不是主键,要使seq自增,先添加seq字段或建表时创建,再将seq添加unique索引,再使seq auto_increment,因为自增长列必须先是unique key或primary key。

blueidea

使用phpword获取doc中的表格数据

1. 首先确定使用phpword是可以读取word文档中表格里面的数据, 使用的phpword版本0.17.0 1 composer require “phpoffice/phpword” 2.关键词及包含原理 (这里只做简单概述) 本人做博文喜欢直接贴代码,直接用。可这个不太行啊,因为输入不统一,word格式样式太多,输出也不统一,有的要输出数据,有的要输出word或者html,所以这里就追一下原理(可能不严谨但是便于理解) 关键词 section(部分) : phpword中将word文档分为若干个section(部分) element(元素) : 每个section包含若干个element(元素)、文本、图片,元素分为文本元素、表格元素、其他(未涉及不做讨论) textRun(文本元素) : 每个文本集合包含多个文本 text(文本) : 为字符或者图片 table(表格元素) : 每个表格元素包含多个行 row row(行) : 每个行包含多个列 cell cell(列) : 每个列包含多个textRun(文本元素) 这里没错,就是包含多个文本元素(表格元素也可以但是没人在word表格的某一个格里再来一个表格吧) 各个节点之间的关系图 3.代码实现(本地测试已通)

blueidea

关于word模板导入中OLEObject的二进制文件转图片的方法

很久以前就想要做这个事情,但时间不允许,当然更多的是技术不行,总期待着有现成的解决方案,当然现成的PHPWord可以解决很多事情,但还是遇到的新的问题,如下: 【题文】1.集合<Object: word/embeddings/oleObject1.bin>,<Object: word/embeddings/oleObject2.bin>,则<Object: word/embeddings/oleObject3.bin>( )。A、<Object: word/embeddings/oleObject4.bin>B、<Object: word/embeddings/oleObject5.bin>C、<Object: word/embeddings/oleObject6.bin>D、<Object: word/embeddings/oleObject7.bin>【答案】B【解析】∵<Object: word/embeddings/oleObject8.bin>,∴<Object: word/embeddings/oleObject9.bin>,∵<Object: word/embeddings/oleObject10.bin>,故选B。【结束】 上面是读取word的一种情形,所以就考虑把word文档中的公式都变成图片。 下面是探寻到的方法: 第一步:把word保存为html格式 第二步:用word(或WPS)重新打开html文件,并保存为docx格式文件 经过上面两步就实现了利用Mathtype等公式编辑器编辑的公式转图片的效果,非常好,现在可以读取了,但新的问题又来了,有些公式是利用word直接插入的公式,现在已经变形了!!!,呜呜呜…… 今天查寻资料得知应该可能使用Apache POI解决这个文件读取的问题,但可惜是基于java的

blueidea