php优秀框架codeigniter学习系列——前言
php的框架众多,笔者用过的包括thinkphp,CI,smarty,laravel,也用过一些公司自己开发的框架。
thinkphp是国人自己开发的,我大概用过一段时间,基本功能都还好,应该也还比较好用,我没有做深入的研究。
smarty是我刚学php的时候就采用的一款框架,他小巧灵活,提供基本的逻辑和页面分离,也带有缓存功能,是一款小巧的框架,我觉得对于开发静态页面比较多的小型网站是比较适用的,对于后台逻辑较复杂的网站还是显得有些力不从心。
laravel是最近非常火的一个框架,他里面大量运用了面向对象的思想,以及独特的包管理机制,以及命令行操作方法,都把php推向了新的高度。作者力图使得php也能像java一样做到逻辑清晰,便于维护。它的缺点是过于庞大,所附带类库和文件太多,影响加载速度。不过也是值得好好研究的一款框架。
CodeIgniter(简称CI)则是一款非常适合web开发的php框架。首先他也有比较丰富的类库,可以避免开发者重复造轮子;再有他是典型的MVC结构框架,使得程序逻辑清晰;还有他没有laravel那么庞大,配置也不复杂,非常容易上手。对于一般的网站,它是非常适用的。
鉴于笔者用CI比较多,也就想系统的学习一下CI框架的原理和设计思想,在此记录下来分享。
php优秀框架codeigniter学习系列——前言的更多相关文章
- php优秀框架codeigniter学习系列——hooks
这篇文章学习CI框架的钩子特性. hooks是CI框架提供的一种机制,允许你在程序框架运行流程的某个阶段执行你自己的一些代码.比如系统运行前,CI_Controller调用前,系统运行结束后等特定的时 ...
- php优秀框架codeigniter学习系列——CodeIgniter.php概览
CodeIgniter.php是CI框架的核心文件.它在前端控制器index.php之后运行,加载各类基础组件,执行请求.文件执行完成后,这次请求也就结束了.所以,该文只能对CodeIgniter.p ...
- php优秀框架codeigniter学习系列——CI_Security类学习
这篇文章主要介绍CI核心框架工具类CI_Security. 安全类包含了一些方法,用于安全的处理输入数据,帮助你创建一个安全的应用.以下选取类中的重点方法进行说明. __construct() 在构造 ...
- php优秀框架codeigniter学习系列——CI_Router类学习
这篇文章主要介绍CI核心框架工具类CI_Router. 如果说CI_URI类是用来解析URI,那么CI_Router类就应该是根据解析出来的URI来决定究竟访问哪一个文件和哪一个function. 详 ...
- php优秀框架codeigniter学习系列——common.php
文件位于system/core/common.php,是框架核心文件. 该文件中定义了一系列的函数,都是框架运行中经常需要用到的.下面逐一介绍. is_php /** * Determines if ...
- php优秀框架codeigniter学习系列——CI_URI类学习
这篇文章主要介绍CI核心框架工具类CI_URI. 该类主要用来解析uri和决定路由的.关于URI和URL的关系请参考这位朋友的文章.简单来说URI是唯一定位的资源,URL是唯一资源的一个网络可能访问路 ...
- php优秀框架codeigniter学习系列——异常和错误处理机制
这篇介绍下CI框架的异常和错误处理机制. 在入口文件index.php中,根据设置的环境参数设置error_reporting的范围,和是否显示错误. 在CI初始化程序CodeIgniter.php中 ...
- php优秀框架codeigniter学习系列——index.php
程序流程图 先来看看CI框架运行的程序流程图. 从图中我们 看到,index.php作为唯一的入口文件,会初始化CI框架运行所需的基本资源. 路由器(Routing)会根据http请求,确定如何处理: ...
- php优秀框架codeigniter学习系列——CI_Loader类分析
这是一个加载视图和文件的类. __construct() 设置视图文件的路径,和获取输出缓冲级别. initialize() 该方法只会被CI_Controller调用一次,会调用 $this-> ...
随机推荐
- PHP设计模式注意点
PHP命名空间 可以更好地组织代码,与Java中的包类似. Test1.php <?php namespace Test1;//命名空间Test1 function test(){ echo _ ...
- 前端数据交互之json&ajax
1.json json是 JavaScript Object Notation 的首字母缩写,单词的意思是javascript对象表示法,这里说的json指的是类似于javascript对象的一种数据 ...
- CRM系统之stark组件流程分析
CRM系统主要通过自定义stark组件来实现的(参照admin系统自定义): STARK组件: 1 admin组件 1 如何使用admin 2 admin源码 3 创建自己的admin组件:stark ...
- Oracle 聚合函数
聚合函数: SQL中提供的聚合函数可以用来统计.求和.求最值等等. 此处采用Oracle 11g中其他用户SCOTT中的EMP表,进行演示. –COUNT:统计行数量 COUNT(*)统计的是结果集的 ...
- Consider defining a bean of type 'org.springframework.data.redis.connection.RedisConnectionFactory' in your configuration
Description: Parameter 0 of method redisTemplate in com.liaojie.cloud.auth.server.config.redis.Redis ...
- python安装MySQLdb(即mysql-Python)模块的一些问题
1.超时问题 如果出现:ReadTimeoutError: HTTPSConnectionPool(host='pypi.python.org', port=443): Read timed out ...
- mybatis.xml和mapper.xml的配置
mybatis.xml和mapper.xml的配置 1.创建一个Source Folder 2.完成分包mapper和mybatis 3.创建mybatis.xml文档 4xml文档名 5.名字规范 ...
- 在js中if条件为null/undefined/0/NaN/""表达式时,统统被解释为false,此外均为true
Boolean 表达式 一个值为 true 或者 false 的表达式.如果需要,非 Boolean 表达式也可以被转换为 Boolean 值,但是要遵循下列规则: 所有的对象都被当作 true. 当 ...
- pytesseract 验证码识别
以下代码,如有不懂加群讨论# *-* coding:utf-8 *-* #import jsonimport requestsimport pytesseractimport timeimport d ...
- linux因勿删或误操作导致登录界面异常,命令无法使用,显示/bin/bash:No such file or directory
一.故障现象 1.用secure CRT连接服务器时显示: /bin/bash:No such file or directory 翻译成中文是:没有此类文件或目录 2.直接登录服务器执行命令时显示: ...