![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
CodeIgniter
文章平均质量分 82
ZhiHuaWei
我知道自己能力小,但,有什么可以能帮到你的吗?
展开
-
CI框架教程1——优化验证码机制(或验证码辅助函数)
验证码机制在CI框架中是通过一个辅助函数captcha()进行实现的——验证码辅助函数文件包含了一些帮助你创建验证码图片的函数。。 那么我们如何使用CI的captcha()辅助函数来完成验证码功能呢?下面我会先讲述如何使用CI的captcha()辅助函数来完成验证码功能,然后在讲述如何具体的对CI框架的验证码机制进行优化。1、CI框架验证码功能的使用a)原创 2016-09-13 10:57:50 · 4824 阅读 · 2 评论 -
CI框架源码解析十六之加载器类文件Loader.php
加载器,顾名思义,是用于加载元素的,加载的元素可以是库(类),视图文件 ,驱动器 ,辅助函数 ,模型或其他你自己的文件。本篇并不是对某一组件的详细源码分析,而只是简单的跟踪了下CI框架的autoload的基本流程。因此,可以看做是Loader组件的分析前提。 CI框架中,允许你配置autoload数组,这样,在你的应用程序初始化时,会自动加载相应的类库,例如,在applicati原创 2016-10-28 15:43:42 · 2889 阅读 · 0 评论 -
CI框架源码解析十七之异常处理类文件Exceptions.php
本篇博文讲述异常处理类文件Exceptions.php。使用CI框架,我们通常使用一下三个函数处理错误:一、show_error('消息' [, int $status_code = 500 ] );二、show_404('页面' [, 'log_error']);三、log_message('级别', '消息'),有以下三种错误信息: ① 错误类型的消息。 这种是真正的错误消息原创 2016-10-29 08:35:57 · 2884 阅读 · 0 评论 -
CI框架源码解析十八之日志记录类文件Log.php
日志记录类,只要用于记录CI框架信息的一些操作日志(错误日志、调试日志、信息日志等等)。日志记录类Log结构: $_log_path:日志存放路径。 $_file_permissions:写入的日志文件权限,默认为0644,即rw-r--r--。 $_threshold:允许写日志的阀值,默认为1。 0 = Dis原创 2016-10-29 14:50:24 · 3972 阅读 · 0 评论 -
CI框架源码解析六之配置类文件Config.php
一个灵活可控的应用程序中,必然会存在大量的可控参数(我们称为配置),例如在CI的主配置文件中(这里指Application/Config/Config.php文件),不仅如此,CI框架还允许你将配置参数放到主配置文件之外。例如,你可以定义自己的配置文件为Config_app.php, 然后在你的应用程序控制器中加载你的配置文件,如此纷繁多样的配置项和配置文件,CI框架是如何进行管理的?这便是我们今原创 2016-10-19 17:03:28 · 2918 阅读 · 0 评论 -
CI框架源码解析七之编码类文件Utf8.php
本篇博文主要讲述编码类文件Utf8.php。UTF8类的主要功能是检测CI框架和环境是否支持Utf8编码,转换编码,过滤字符串的功能。这个功能不多,逻辑也不是特别麻烦,下面我们就一步一步的来解析这个文件。1、构造函数__construct() /** * 构造函数:检测是否支持utf8 */ public function __constr原创 2016-10-20 09:48:18 · 1929 阅读 · 0 评论 -
CI框架源码解析八之地址解析类文件URI.php
URI类主要处理地址字符串,将uri分解成对应的片段,存到segments数组中。querystring分解后存到$_GET数组,ROUTER路由类在之后的解析路由动作中,也主要依靠URI类的segments属性数组来获取当前上下文的请求URI信息。 在CI框架中如果允许传统的querystirng模式,即设置$config['enable_query_strings'] = T原创 2016-10-20 16:12:19 · 2189 阅读 · 0 评论 -
Codeigniter框架整合Smarty引擎DEMO
Smarty的模板机制很强大,一般情况下CI框架无需整合其他模板标签,因为PHP本身就是一种标签,简单易用。Codeigniter整合Smarty教程(我用的都是最新版本)如下: 第一步:下载Codeigniter最新版本:CodeIgniter框架源码 第二步:下载Smarty最新版本:Smarty引擎源码 第三步:具体配置我已将本人原创 2016-11-01 15:40:43 · 726 阅读 · 0 评论 -
CI框架源码解析二十之文件上传类文件Upload.php
最近一直在研究Codeigniter框架,本篇博文为大家简述解析文件上传类文件的实现,以前写过一篇CI框架优化文件上传方法以及实现多文件上传的博文,大家可以放在一起进行对比阅读。CI框架教程2——优化文件上传方法以及实现多文件上传 上传一个文件通常涉及以下几步: Ⅰ 显示一个上传表单,用户选择文件并上传。 Ⅱ 当提交表单时,文件将被上传到你指定的目录。原创 2016-11-15 18:04:15 · 3744 阅读 · 0 评论 -
CI框架教程3——实现框架前后端分离
我们在使用CI框架开发中(或者使用所有的其他框架开发中),总是习惯于将所开发项目的前端和后台分离开来,将各自的控制器、模型或视图放到不同的文件夹中。在这一点上ThinkPHP框架要比CI框架更要方便一些。这篇博文我们就讲述如何实现根据CI框架开发将前后端实现分离。(本博文以本人开发的Pkadmin后台管理系统为例,Pkadmin后台管理系统是基于Codeigniter_v3.1.0框架和Olive原创 2016-12-20 11:21:55 · 3482 阅读 · 0 评论 -
CI框架教程4——将默认路由放到子文件下
Codeigniter框架在版本3.0以前还可以将默认路由地址设置到子文件下中,在3.0以后就不可以了,本篇博文内容就是基于这一问题提出的解决方案。比如你想设置的默认路由地址application文件夹下controller文件夹下的home模块中(在路由配置文件中这样写): $route['default_controller'] = 'home/index'; 这原创 2017-08-01 10:57:51 · 1338 阅读 · 0 评论 -
CI框架教程5——整合PHPExcel库应用
本文讲的是解析PHPExcel使用的常用说明以及把PHPExcel整合进CI框架的介绍和excel的写入与生成操作,以及当写入一串数字字符串是变成科学计数法的解决方法。1、CI框架整合PHPExcel方法 步骤: Ⅰ: 下载 PHPExcel http://phpexcel.codeplex.com/releases/view/107442原创 2017-09-26 17:03:32 · 933 阅读 · 0 评论 -
CI框架教程6——操作数据库表的优化写法
用codeigniter也有一段时间了,一直没有做什么总结。现在总结一些Codeigniter操作数据库表的优化写法,虽说不全,但是也确实可以帮助那些刚刚上手CI的同学。链接数据库//手动连接数据库$this->load->database();//连接多数据库$DB1 = $this->load->database('group_one', TRUE);$DB2原创 2018-02-07 10:08:10 · 681 阅读 · 0 评论 -
CI框架源码解析五之钩子类文件Hooks.php
CI框架可以实现在不修改系统核心文件的基础上来改变或增加系统的核心运行功能(如重写缓存、输出等),那就是Hooks,主要作用是CI框架下扩展base_system,它的主要作用是在CI启动时运行一些开发者定义的一些方法,来实现一些特定的功能。钩子是什么呢?我们可以这样理解:钩子是一种事件驱动模式,它的核心自然是事件(CI框架中pre_system,pre_controller等都是特定原创 2016-10-18 18:05:01 · 3273 阅读 · 0 评论 -
CI框架源码解析十五之模型类文件Model.php
这篇博文我们讲述模型类文件Model.php,大家一看这个文件名肯定也会觉得非常熟悉,同样的这个Model,就是我们通常所说的MVC中的M。这个文件就是我们在开发项目过程中开发模型时所有的模型类都要继承自这个文件。 Model类的代码也非常少,有用的方法就下面这一个,下面这个方法是为了在Model里面可以像控制器那么通过$this->做很多事情。例如想在model里面加载某个li原创 2016-10-28 08:56:22 · 1508 阅读 · 0 评论 -
CI框架教程2——优化文件上传方法以及实现多文件上传
最近一直在研究Codeigniter框架,开发项目写到文件上传的时候发现大部分程序员使用Codeigniter框架的文件上传类编写上传方法的时候写的都存在这代码冗余(或者说代码重复利用率低、比较消耗资源。)故而我研究出一个稍微优化一点的上传方法。并且在查找资料时发现,Codeigniter框架同时上传多个文件比较困难,所以在优化方法的同时我又研究了一下如何使用Codeigniter框架实现同时上传原创 2016-09-22 10:23:15 · 1705 阅读 · 0 评论 -
CI框架源码解析九之路由类文件Router.php
本篇博文将讲述CI框架Router路由类文件,CI框架Router路由类将URI映射到对应的控制器及方法,Router类大量代码处理的是自定义路由,该类要支撑以下几个功能点:① 自定义路由规则 在 application/config/routes.php 文件中的 $route 的数组,利用它可以设置路由规则。 在路由规则中可以使用通配符或正则表达式。使原创 2016-10-25 10:11:50 · 5074 阅读 · 1 评论 -
CI框架源码解析一之入口文件index.php
Index.php作为CI框架的入口文件,源码分析,自然而然由此开始。在源码分析的过程中,我们并不会逐行进行解释,而只解释核心的功能和实现。在博主看来CI框架的index.php文件一共完成了四项工作:① 设置框架应用的环境状态② 配置系统、应用、视图等程序目录以及得到其路径③ 系统、应用、视图等目录的正确性验证④ 载入 codeigniter/CodeIgni原创 2016-10-14 15:50:19 · 6638 阅读 · 1 评论 -
CI框架源码解析二之引导文件CodeIgniter.php
上篇解析入口文件写到载入 core/CodeIgniter.php框架核心文件,启动框架。CodeIgniter.php文件被称为BOOTSTRAP,也就是引导文件,这里也就是CI框架的核心了。其实把CodeIgniter.php这个文件的代码运行一次,就是整个CI应用都完成了一次完整的运作流程了。其中会加载一些组件,引入很多外部文件,等等。所以建议在阅读此文件代码的时候,第一遍先阅读它的大概流程原创 2016-10-15 14:32:04 · 3987 阅读 · 4 评论 -
CI框架源码解析十之输出类文件Output.php
输出类是个核心类,它的功能只有一个:发送 Web 页面内容到请求的浏览器。如果你开启缓存,它也负责缓存你的 Web 页面。 Output类参考说明(摘抄CI框架手册):在一般情况下,你可能根本就不会注意到输出类,因为它无需你的干涉, 对你来说完全是透明的。例如,当你使用 加载器 加载一个视图文件时,它会自动传入到输出类,并在系统执行的最后由 CodeIgniter 自动调用。尽管原创 2016-10-26 11:00:42 · 3099 阅读 · 0 评论 -
CI框架源码解析十一之安全类文件Security.php
CI框架安全类包含了一些方法,用于安全的处理输入数据,帮助你创建一个安全的应用。CI框架安全类提供了全局防御CSRF攻击和XSS攻击策略,只需要在配置文件开启即可并提供了实用方法: $config['csrf_protection'] = TRUE; $config['global_xss_filtering'] = TRUE; //实用方法 $this->原创 2016-10-26 17:39:50 · 2918 阅读 · 4 评论 -
CI框架源码解析三之全局函数库文件Common.php
从本篇开始,基本上算是深入到了CI框架的内部,下面就让我们一步步去探索这个框架的实现、结构和设计。 Common.php文件定义了一系列的全局函数(一般来说,全局函数具有最高的加载优先权,因此大多数的框架中BootStrap引导文件都会最先引入全局函数,以便于之后的处理工作)。 CI框架全局函数库文件Common.php中所有全局函数的定义方式都为:原创 2016-10-17 15:17:59 · 2973 阅读 · 1 评论 -
CI框架源码解析十二之输入类文件Input.php
输入类有两个用途:一:为了安全性,对输入数据进行预处理;二:提供了一些辅助方法来获取输入数据并处理。并且该类由系统自动加载,你无需手工加载。① 对输入进行过滤 安全性过滤:当访问控制器时,安全过滤方法会自动被调用,它做了以下几件事情:首先,如果 $config['allow_get_array'] 设置为 FALSE (默认是 TRUE),销毁全局的 GET 数组。其次,当开原创 2016-10-27 10:28:42 · 2728 阅读 · 0 评论 -
CI框架源码解析十三之语言类文件Lang.php
本篇博文讲述语言类,主要讲述语言类的用法,关于语言类本身文件类内容并没有多少内容,比较简单,稍微查看代码就可以明白其作用用途,语言类提供了一些方法用于获取语言文件和不同语言的文本来实现国际化。下面我们讲述多语言的用法。 在你的 CodeIgniter 的 system 目录,有一个 language 子目录,它包含了一系列 英文 的语言文件。在 system/language/e原创 2016-10-27 14:47:19 · 2408 阅读 · 0 评论 -
CI框架源码解析十四之控制器类文件Controller.php
本篇博文讲述超级控制器类文件Controller.php,大家一看这个文件名肯定是非常的兴奋,这个Controller,就是我们通常所说的MVC中的C。这个文件就是我们在开发项目过程中开发控制器是所有的控制器类都要继承自这个文件。在经过路由分发之后,实际的应用Controller接管用户的所有请求,并负责与用户数据的交互。CI中所有的应用控制器都应该是CI_Controller的子类(除非你扩展了原创 2016-10-27 18:00:15 · 2182 阅读 · 0 评论 -
CI框架源码解析四之基准测试类文件Benchmark.php
本篇博客我们解析讲述的是基准测试类文件Benchmark.php,通过前面几篇博文的解析,我们已经了解到:CI框架中核心流程的核心功能都是由不同的类组件来完成的。这些类组件类似于一个一个单独的模块,不同的模块完成不同的功能,各模块之间可以相互调用,共同构成了CI框架的核心骨架。 从本篇开始,将进一步去分析各类组件的实现细节,深入CI框架核心内容的黑盒内部(通过我们的解析研究之后,原创 2016-10-18 10:29:06 · 1923 阅读 · 0 评论 -
CI框架源码解析十九之分页类文件Pagination.php
CodeIgniter 的分页类非常容易使用,而且它 100% 可定制,可以通过动态的参数,也可以通过保存在配置文件中的参数。如果你还不熟悉 "分页" 这个词,它指的是用于你在页面之间进行导航的链接。像下面这样:« First 1 2 3 4 5 > Last »举个例子说明如何在你的控制器方法中创建分页:Ⅰ 在构造函数中引入分页类: public function原创 2016-11-08 17:04:24 · 3764 阅读 · 0 评论 -
如何更好的设计MySQL数据库(MySQL 数据库设计原则)
简述 在我们项目开发中,数据库的设计可以说是非常重要,我遇到过很多数据库设计比较杂乱的项目,像表名、字段名命名混乱、字段类型设计混乱等待。写本篇博文的目的就是总结一下设计MySQL 数据库原则,有一个小小的规范会使得我们的项目更加强壮。设计原则1. 命名规则 数据库的的名字一般都是很随意,最好和我们的项目业务一致,这样比较好进行区分;数据表的命名应尽可能...原创 2018-07-04 10:31:20 · 3212 阅读 · 0 评论