- 博客(10)
- 收藏
- 关注
原创 CodeIgniter 源码解读之 _remap
_remap童鞋们,之前在看源码时,大家有没有注意到 CodeIgniter.php 文件中,在URI路由处理完成的后,实例化控制器类及调用方法时,我们可以看到程序做了一下判断:elseif (method_exists($class, '_remap'))那这个为什么要介么判断类? _remap 介个方法有什么作用类?如果,当前控制器类中存在 _remap 方法,则:$params ...
2020-03-07 20:46:28
334
原创 CodeIgniter 源码解读之URL路由
URL路由路由功能也是一个很重要的功能点,需要和大家一起学习一下,其实在之前的项目中,我很少会用到它,因为,通过常规的访问方式就已经很方便了,再其次,CI的框架目录已经非常简单了,所以默认的路由用起来完全可以了。但这里,我希望和大家一起看下CI的路由实现原理,首先,我们先写个例子,让程序 run 起来,然后再看源代码。首先,我在 application/config/routes.php 定义...
2020-03-07 13:22:58
379
原创 CodeIgniter 源码解读之钩子
钩子的使用及原理CI如同 Laravel、TP 一样提供了 类似 中间件的 功能,支持在控制器执行前及执行后的操作,CI形象的将它比作 钩子 (hooks)。这篇,我们会先写一个使用钩子的例子,然后再去读源码,了解他的使用方式。开启钩子(application/config.php)/*|-------------------------------------------------...
2020-03-04 20:29:49
439
原创 CodeIgniter 源码解读之视图
视图控制器及模型都讲完了,这篇,顺理成章的可以讲讲视图类,从此,MVC三剑客,都凑齐了。接着模型中提到的例子,我在控制器里调用了视图 view 方法,并在 application/views 目录中新建了对应的视图文件。我们现在研究一下视图加载的原理:<?phpdefined('BASEPATH') OR exit('No direct script access allowed'...
2020-03-03 20:30:23
267
原创 CodeIgniter 源码解读之模型
模型啥是模型?模型是干嘛的?CI中的模型(Model)又是如何工作的?这篇我们就来看看吧~~首先,我们习惯性的打开 core 目录,瞧瞧是否有个文件名有 model 的字段,哦豁~ 还真有(Model.php),赶紧双击打开看看吧。...
2020-03-02 14:48:19
380
原创 CodeIgniter 源码解读之控制器
控制器控制器是你整个应用的核心,因为它们决定了 HTTP 请求将被如何处理。这期我们就来看看控制器的实现。
2020-03-01 12:20:08
258
原创 CodeIgniter 源码解读之 CodeIgniter.php(二)
咱接上一节接着看处理字符串编码及mbstring、iconv 函数$charset = strtoupper(config_item('charset'));ini_set('default_charset', $charset);if (extension_loaded('mbstring')){ define('MB_ENABLED', TRUE); // mbstring...
2020-02-28 21:01:18
246
原创 CodeIgniter 源码解读之 CodeIgniter.php(一)
来到 CodeIgniter.phpCodeIgniter.php 的代码突然就变多了,但没事,我们慢慢的一行行的细细品。首先,这个不是一个类文件,貌似是一大推定义和引入文件。声明CI的框架版本号const CI_VERSION = '3.1.11';加载框架的常量定义文件 constants.php # 这里的ENVIRONMENT常量是index.php文件中定义的 if...
2020-02-28 21:00:53
370
原创 CodeIgniter 源码解读之 index.php
副本入口 index.phpindex.php 是CodeIgniter的入口文件。index.php文件的代码不多,他主要做了4件事情。定义错误级别define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'development');...
2020-02-28 20:58:43
519
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人