摘要: 一、前言 首先,yii2最为为数不多的PHP主流开源框架,受欢迎程度不亚于laravel和TP。个人认为,研究这些框架底层代码是非常有助于自身代码编程思想的提升和代码简化程度和质量的提升的。 那么,话不多说,下面开始说一下自己对yii2底层框架架构的理解。 二、客户端请求处理 yii2对客户请求处理 阅读全文
posted @ 2018-08-10 09:07 clevstn 阅读(1638) 评论(0) 推荐(0) 编辑
摘要: 一、计算机的由来 很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物。他们看到8个开关状态是好的,于是他们把这称为”字节“。再后来,他们又做了一些可以处理这些字节的机器,机器开动了,可以用字节来组合出很多状态,状态开始变来变去。他们看到这样是好的,于是它们就 阅读全文
posted @ 2018-07-05 23:17 clevstn 阅读(2437) 评论(0) 推荐(1) 编辑
摘要: 1. 什么是REST 1. 什么是REST 1. 什么是REST 1. 什么是REST REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移。 它首次出现在2000年Roy Fielding的博士论文中,Roy Fieldin 阅读全文
posted @ 2018-06-27 15:04 clevstn 阅读(4861) 评论(0) 推荐(0) 编辑
摘要: 一、前言 上一篇文章我们已经大致谈过RBAC到底是什么和yii2底层RBAC接口的分析。 下面我深入理解一下RBAC权限分配,深入理解下yii2底层RBAC扩展,以及它是如何针对模块化系统的开发的? 二、介绍 2.1 下面是张大致的思维导图: 由图可见,我们对yiiRABC底层接口的扩展逻辑。 2. 阅读全文
posted @ 2018-06-25 19:32 clevstn 阅读(941) 评论(0) 推荐(0) 编辑
摘要: 一、简介 什么是rbac ? rbac是就是基于角色的访问控制。 yii提供一套基础的底层接口,我们知道,rbac经历好几个阶段,从rbac0到rbac3,从基础的用户、角色、权限,到动态的rbac处理模式,再到现在的权限继承,解决复杂的多页面元素权限分配。 总而言之,rbac有三个特性。 1. 基 阅读全文
posted @ 2018-06-23 22:59 clevstn 阅读(506) 评论(0) 推荐(0) 编辑
摘要: 一、 单例模式 顾名思义, 单例模式就是只实例一次,通过一个接口去实现多处需要的同一类对象的需求。 例子: 这是yii2应用组件容器,Appliction中的构造方法,通过构造函数,给类实现单例接口,给静态变量$app注册web应用对象。 2、 工厂模式(策略模式) 顾名思义,工厂模式就是像工厂的机 阅读全文
posted @ 2018-06-21 20:46 clevstn 阅读(1017) 评论(0) 推荐(0) 编辑
摘要: 一、 PHP对数组的过滤 函数: array_filter(p1[,p2]) 参数p1是要过滤的数组,参数p2是自定义过滤会掉函数(可以是匿名函数) 例子: 总结: array_filter(p1[,p2])函数可以自定义过滤, 在不填写第二参数的情况下默认取出数组中为false的元素; 二、 PH 阅读全文
posted @ 2018-06-19 16:07 clevstn 阅读(333) 评论(0) 推荐(0) 编辑
摘要: 1. 命名规范 (1).变量命名规范 例如 :$itSports 例如评论:$commentArr 例如 数组变量后加Arr :$commentArr,数值: $commentInt 例如:$i,$j。 (2).常量命名规范 例如: define(‘AAA_BBB_CCC’, ‘true’); (如 阅读全文
posted @ 2018-06-16 14:22 clevstn 阅读(619) 评论(0) 推荐(0) 编辑
摘要: 一、前言 php是世界上最好的语言 php从面向过程走到现在成熟的面向对象体系, 在php面向对象中,静态变量的调用我们可以用这两个self::method和 static::method, 但是很多童鞋迷惑,不理解self::method和static::method有什么区别,下面给出两个例子一 阅读全文
posted @ 2018-06-15 18:29 clevstn 阅读(341) 评论(0) 推荐(0) 编辑
摘要: 一、前言 php是世界上最好的语言! 二、介绍 mktime()函数获取当周\当天\当月 date()函数获取日/周/年 如果用date()函数获取当天的时间,则去掉第二参数即可; 例如: date('w'), date('now'), date('m') 阅读全文
posted @ 2018-06-15 16:26 clevstn 阅读(752) 评论(0) 推荐(0) 编辑