CLI模式下Yii2的log问题追踪

| 2018年2月23日

转载请注明出处:https://tlanyan.me/trace-log-problem-of-yii2-in-cli/ 命令行下运行长时间任务,发现Yii2的log组件不能正常输出日志。空闲之余逐步追踪问题,终于发现原因,以下是问题追踪记录。 问题复现 为了复现问题,预先准备了log组件的配置: … 继续阅读 »

Yii2中的事务

| 2018年1月23日

转载请注明来源:https://tlanyan.me/yii2-transactions/ 今天运行程序时发现有条数据不完整。出现问题的数据属于某个事务,按道理要么逻辑走完数据提交,要么回滚。出现预料外问题,第一个反应是ActiveRecord中内嵌事务会单独提交到数据库中?为了验证这个问题,抽空写… 继续阅读 »

Yii2的场景(scenario)和验证规则(rule)

| 2018年1月14日

转载请注明来源:https://tlanyan.me/scenario-and-rule-in-yii2/ 和用户有交互的系统必不可少的功能包括收集用户数据、校验和处理。实际业务中,往往还需要将数据进行持久化存储。出于安全考虑,开发人员应当牢牢把握“客户端的输入都是不可信”的准则,客户端传过来的数据… 继续阅读 »

Yii2设置非单例的组件

| 2016年4月16日

在Yii中,组件是非常重要的概念。Yii中每种类型的应用程序都在源码中定义了必不可少的核心组件(core components)。可以说,组件是构成完整Yii应用程序的基石。 Yii2中,组件是通过DI(Dependency Injection)和SL(Service Locator)来实现的。关于… 继续阅读 »

yii2框架配置smarty

| 2015年4月12日

为了剥离前后端,项目的前端使用smarty模板引擎,后端开发框架是yii2。官方基于smarty专门开发了yii2-smarty拓展用于yii2的项目中。 yii2-smarty的官方地址是: https://github.com/yiisoft/yii2-smarty 坑爹的是,项目里的文档基本上… 继续阅读 »

Yii用户自动登陆流程

| 2014年10月22日

前一段时间更改了站点的授权架构,今天被通知自动登陆功能不好使了。用的Yii框架,为了找出原因,借着机会把Yii的自动登陆流程理一遍。花了一个上午弄明白了流程,了解了原理之后简单几行代码就把问题解决了。 Yii的自动登陆基于cookie,从cookie中获取用户凭据,验证成功后授权并登陆用户。这篇文章… 继续阅读 »

Yii使用action

| 2014年10月17日

Yii使用了MVC的开发模式,意在剥离数据获取,义务逻辑和视图,从而达到职责分离,代码复用的效果。在之前的开发中,一直是在model里面写数据获取,在controller里面写业务逻辑,在view里面写视图代码。对于业务处理流程来说,主要是在controller里面实现。 controller是一个… 继续阅读 »

Yii创建cli应用

| 2014年10月8日

有时我们并不希望某个方法被外部访问,这时可以使用cli脚本来解决这个问题。相对于web应用,外界无法访问cli脚本。另外执行cli应用不需要经过web前端软件(nginx/apache)转发,直接php解析执行,效率更高。 Yii原生支持cli应用,即console应用。protected文件夹下的… 继续阅读 »

Yii加载多份配置文件

| 2014年10月3日

在Yii的入口脚本中,配置是传给应用程序的唯一参数。正因为如此,配置文件在Yii里能完全决定程序的运行状态和行为。使用配置文件能减少程序中的硬编码,需要改动的时候只需修改配置文件,便于项目部署。相对于去代码里寻找并修改,这种方式无疑更为便捷和可维护。 Yii程序默认的配置文件位于protected/… 继续阅读 »