CodeIgniter
mijar2016
一位三流学校毕业的学生,敲着四流的代码,为了希望而努力,为了明天而坚持。
展开
-
CodeIgniter-Router的BUG(3.0.0版本)
好久没有更新Blog了,前一段时间在研究nginx源码。相比redis,nginx的代码量要多几倍,结构也比较复杂,稍后将补充nginx的源码分析。在研究nginx的同时,笔者也开始着手阅读CodeIgniter源码。CodeIgniter是一款非常流行且轻量级的框架。CodeIgniter,设计灵活,扩展性强,低耦合。在阅读源码CodeIgniter3.0.0的时候,笔者发现Router.php的原创 2016-11-05 20:56:05 · 772 阅读 · 0 评论 -
CodeIgniter-Security的CSRF hash生成功能
Security/get_random_bytes()的功能是随机生成字符串,用于crsf验证的hash值。 ```php public function get_random_bytes($length) { if (empty($length) OR ! ctype_digit((string) $length)) { return FALSE; } // Unfort原创 2016-11-11 11:57:26 · 611 阅读 · 0 评论 -
CodeIgniter-&引发关于变量引用的思考
CodeIgniter是一个单例模式框架,源代码中大量使用‘&’引用,有两种原因:一方面基于兼容PHP4版本;另一方面是为了防止变量发生”写时复制”(copy on write)。借此机会,简单地介绍“PHP变量引用”原理。PHP源码使用zval结构定义变量:typedef struct _zval_struct zval; struct _zval_struct { zvalue_valu原创 2016-11-19 10:43:41 · 480 阅读 · 0 评论 -
CodeIgniter-内部运行流程
每当我们阅读一个优秀的框架/项目时,先要理清它的整个运行流程,才能掌握和理解它的真正设计含义。CodeIgniter(简称:CI)作为一款优秀的轻量级PHP框架,其特点:简洁又不失灵活。它的内部运作原理又是怎样的呢?CI的入口文件为index.php,核心代码位于system/Core/CodeIgniter.php.以下为笔者整理的CI运行流程图及部分主要模块的说明。 初始化系统运行环境 a).原创 2016-11-19 19:43:43 · 823 阅读 · 0 评论