让编程改变世界

让编程改变世界、改变生活、改变自己

排序:
默认
按更新时间
按访问量

CI框架源码解析十二之输入类文件Input.php

输入类有两个用途:一:为了安全性,对输入数据进行预处理;二:提供了一些辅助方法来获取输入数据并处理。并且该类由系统自动加载,你无需手工加载。 ① 对输入进行过滤         安全性过滤:当访问控制器时,安全过滤方法会自动被调用,它做了以下几件事情:首先,如果 $config['allow_...

2016-10-27 10:28:42

阅读数:1527

评论数:0

CI框架源码解析十一之安全类文件Security.php

CI框架安全类包含了一些方法,用于安全的处理输入数据,帮助你创建一个安全的应用。CI框架安全类提供了全局防御CSRF攻击和XSS攻击策略,只需要在配置文件开启即可并提供了实用方法: $config['csrf_protection'] = TRUE; $config['global_...

2016-10-26 17:39:50

阅读数:2053

评论数:4

CI框架源码解析十之输出类文件Output.php

输出类是个核心类,它的功能只有一个:发送 Web 页面内容到请求的浏览器。如果你开启缓存,它也负责缓存你的 Web 页面。         Output类参考说明(摘抄CI框架手册):在一般情况下,你可能根本就不会注意到输出类,因为它无需你的干涉, 对你来说完全是透明的。例如,当你使用 加载器 ...

2016-10-26 11:00:42

阅读数:1716

评论数:0

CI框架源码解析九之路由类文件Router.php

本篇博文将讲述CI框架Router路由类文件,CI框架Router路由类将URI映射到对应的控制器及方法,Router类大量代码处理的是自定义路由,该类要支撑以下几个功能点: ① 自定义路由规则         在 application/config/routes.php...

2016-10-25 10:11:50

阅读数:3278

评论数:0

CI框架源码解析八之地址解析类文件URI.php

URI类主要处理地址字符串,将uri分解成对应的片段,存到segments数组中。querystring分解后存到$_GET数组,ROUTER路由类在之后的解析路由动作中,也主要依靠URI类的segments属性数组来获取当前上下文的请求URI信息。         在CI框架中如果允许传统的q...

2016-10-20 16:12:19

阅读数:1438

评论数:0

CI框架源码解析七之编码类文件Utf8.php

本篇博文主要讲述编码类文件Utf8.php。UTF8类的主要功能是检测CI框架和环境是否支持Utf8编码,转换编码,过滤字符串的功能。这个功能不多,逻辑也不是特别麻烦,下面我们就一步一步的来解析这个文件。 1、构造函数__construct() /** * 构...

2016-10-20 09:48:18

阅读数:1277

评论数:0

CI框架源码解析六之配置类文件Config.php

一个灵活可控的应用程序中,必然会存在大量的可控参数(我们称为配置),例如在CI的主配置文件中(这里指Application/Config/Config.php文件),不仅如此,CI框架还允许你将配置参数放到主配置文件之外。例如,你可以定义自己的配置文件为Config_app.php, 然后在你的应...

2016-10-19 17:03:28

阅读数:1704

评论数:0

CI框架源码解析五之钩子类文件Hooks.php

CI框架可以实现在不修改系统核心文件的基础上来改变或增加系统的核心运行功能(如重写缓存、输出等),那就是Hooks,主要作用是CI框架下扩展base_system,它的主要作用是在CI启动时运行一些开发者定义的一些方法,来实现一些特定的功能。钩子是什么呢?我们可以这样理解: 钩子是一种事...

2016-10-18 18:05:01

阅读数:1738

评论数:0

CI框架源码解析四之基准测试类文件Benchmark.php

本篇博客我们解析讲述的是基准测试类文件Benchmark.php,通过前面几篇博文的解析,我们已经了解到:CI框架中核心流程的核心功能都是由不同的类组件来完成的。这些类组件类似于一个一个单独的模块,不同的模块完成不同的功能,各模块之间可以相互调用,共同构成了CI框架的核心骨架。         ...

2016-10-18 10:29:06

阅读数:1286

评论数:0

CI框架源码解析三之全局函数库文件Common.php

从本篇开始,基本上算是深入到了CI框架的内部,下面就让我们一步步去探索这个框架的实现、结构和设计。         Common.php文件定义了一系列的全局函数(一般来说,全局函数具有最高的加载优先权,因此大多数的框架中BootStrap引导文件都会最先引入全局函数,以便于之后的处理工作)...

2016-10-17 15:17:59

阅读数:1914

评论数:0

CI框架源码解析二之引导文件CodeIgniter.php

上篇解析入口文件写到载入 core/CodeIgniter.php框架核心文件,启动框架。CodeIgniter.php文件被称为BOOTSTRAP,也就是引导文件,这里也就是CI框架的核心了。其实把CodeIgniter.php这个文件的代码运行一次,就是整个CI应用都完成了一次完整的运作流程了...

2016-10-15 14:32:04

阅读数:2023

评论数:4

CI框架源码解析一之入口文件index.php

Index.php作为CI框架的入口文件,源码分析,自然而然由此开始。在源码分析的过程中,我们并不会逐行进行解释,而只解释核心的功能和实现。在博主看来CI框架的index.php文件一共完成了四项工作: ① 设置框架应用的环境状态 ② 配置系统、应用、视图等程序目录以及得到其路径 ③ 系...

2016-10-14 15:50:19

阅读数:2702

评论数:1

PHP实现简单的验证码功能机制

网站的安全性是开发者不可忽视的一个问题,目前使用最多的一种可以提高网站安全性的方法就是使用验证码功能机制,有的仅仅使用一个几位数字字母混乱的验证码,有的进行手机发送短信进行验证,有的使用邮箱发送邮件进行验证,但是这个验证码功能机制是如何实现的呢?下面就为大家详细解释验证码功能机制的实现思路以及简单...

2016-10-12 17:54:39

阅读数:2372

评论数:3

ThinkPHP框架整合phpqrcode生成二维码DEMO

ThinkPHP框架发展到今天功能已经变得是非常强大了,但是ThinkPHP框架中没有二维码相关的库,因此我们可以通过整合phpqrcode来完成生成二维码的功能。想使用phpqrcode首先就要把phpqrcode代码包下载下来,大家可以去官网下载,也可以在网络上搜索进行下载,这里我为大家提供的...

2016-10-09 11:18:40

阅读数:5863

评论数:2

PHP 加密技巧

在工作中发现很多开发人员都不是特别注意网站的安全性,对加密算法的使用也是非常的单一,也不是很注意加密算法的使用。由于本人是个技术迷,所以对一些乱起八糟的研究比较多,我对sql注入也比较喜欢,前前后后检测过不少网站,asp、php、jsp 等都有看过。发现这些网站基本都是使用md5加密算法,很多技术...

2016-10-08 11:01:54

阅读数:232

评论数:0

PHP + MySQL 实现无限分类的2种方法

无限分类是个老话题了,PHP和MySQL中实现无限分类的思路也有许多种,本文主要介绍其中2种最巧妙的无限分类方法,一起来看看吧。 1、方法一         这种方法是很常见、很传统的一种,先看表结构: 表:category id int 主键,自增 ...

2016-10-07 10:09:34

阅读数:532

评论数:0

PHP生成随机密码的4种方法及性能对比

使用PHP开发应用程序,尤其是网站程序,常常需要生成随机密码,如用户注册生成随机密码,用户重置密码也需要生成一个随机的密码。随机密码也就是一串固定长度的字符串,这里我收集整理了几种生成随机字符串的方法,以供大家参考。 1、方法一: ① 在 33 – 126 中生成一个随机整数,...

2016-10-04 22:09:32

阅读数:966

评论数:0

PHP如何实现“autoload”机制详解

PHP的“autoload”机制在平常的开发应用中是非常常见的,并且是非常一个重要的功能。比如:PHP在魔术函数__autoload()方法出现以前,如果你要在一个程序文件中实例化100个对象,那么你必须用include或者require包含进来100个类文件,或者你把这100个类定义在同一个类文...

2016-10-02 13:38:32

阅读数:1641

评论数:1

ThinkPHP实现定时执行任务的两种方法

在平常的项目中我们总是会遇到需要将某个方法任务定时执行的问题,定时执行方法任务如果我们拥有服务器的权限,我们可以直接在服务器设置定时任务,例如在Windows的任务计划程序中进行设置,在Linux中编写脚本进行执行。如果我们没有服务器权限,我们该如何使用项目的程序代码来自动定时执行呢?接下来就为大...

2016-09-22 18:19:23

阅读数:20819

评论数:2

CI框架教程2——优化文件上传方法以及实现多文件上传

最近一直在研究Codeigniter框架,开发项目写到文件上传的时候发现大部分程序员使用Codeigniter框架的文件上传类编写上传方法的时候写的都存在这代码冗余(或者说代码重复利用率低、比较消耗资源。)故而我研究出一个稍微优化一点的上传方法。并且在查找资料时发现,Codeigniter框架同时...

2016-09-22 10:23:15

阅读数:580

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭