网页游戏开发论坛

 找回密码
 快速注册
成为推荐企业,获得VIP招聘服务Flash RPG大型网页游戏开发书籍国内性价比很高的主机空间域名网页游戏人才网为您推荐好工作
查看: 3559|回复: 9

codeignite框架的简单分析 [复制链接]

Rank: 2

钢锭
0 块
弹簧
17 根
威望
68
发表于 2008-9-24 21:53:54 |显示全部楼层
既然说了每个人要写一点CodeIgniter方面的资料,我粗略的看了一下,写一点我的理解:

CodeIgniter 关键的核心文件是那个Loader.php,他主要定义了加载数据库配置、View、文件和类的方法。

CI的基础类是CI_Base,这里又分为PHP4、PHP5两个不同的方式,不过原理都是一样的,单例模式方法。
[php]
class CI_Base {
private static $instance;
public function CI_Base()
{
  self::$instance =& $this;
}
public static function &get_instance()
{
  return self::$instance;
}
}
function &get_instance()
{
return CI_Base::get_instance();
}

[/php]

控制器是Controller继承CI_Base的[php]class Controller extends CI_Base[/php]
值得注意的是function _ci_scaffolding(),它里面主要定义了一些Scaffolding的method,你可以扩展Scaffolding的method
[php] $method = ( ! in_array($this->uri->segment(3), array('add', 'insert', 'edit', 'update', 'view', 'delete', 'do_delete'), TRUE)) ? 'view' : $this->uri->segment(3);[/php]

Scaffolding被称为脚手架,很难理解,其实就是定义了一些method方法,处理页面view的,在Scaffolding里面你能找到刚才的一些默认定义。也就是说,CI可以通过Scaffolding来处理Controller、View、Model的关系。如果需要我们可以扩展Scaffolding,让他能完成除了'add', 'insert', 'edit', 'update', 'view', 'delete', 'do_delete'更多的东西。

Model没什么说的,就是一个实体类Entity,主要对这个Entity的属性、方法进行定义的。

总结一下,CI这个框架其实就是类的继承和模版的加载把Controller、View、Model有机的结合起来,各自发挥各自的特长。

[ 本帖最后由 archerchu 于 2008-9-24 22:23 编辑 ]

Rank: 1

钢锭
0 块
弹簧
10 根
威望
4
发表于 2008-10-14 14:49:36 |显示全部楼层
呵呵,楼主写的很棒,CI 就是轻量。

使用道具 举报

Rank: 8Rank: 8

钢锭
0 块
弹簧
48695 根
威望
10917

助人为乐勋章

发表于 2008-10-14 15:32:43 |显示全部楼层
欢迎Hex,codeignite中国的推广者,呵呵 最近用CI做个小项目 学习了下 以后开发会比较快了 有空加我qq啊 179862323
珍品网招聘PHP开发工程师,一起创业~待遇从优~欢迎联系 zhenpin.com  联系QQ 75088081

使用道具 举报

Rank: 1

钢锭
0 块
弹簧
10 根
威望
4
发表于 2008-10-15 17:16:39 |显示全部楼层
很高兴和大家一起学习、应用、推广 CodeIgniter!
也感谢大家对 CI 的支持!
CodeIgniter 中国

使用道具 举报

Rank: 1

钢锭
0 块
弹簧
10 根
威望
4
发表于 2008-10-15 17:17:45 |显示全部楼层
对了,不反对我把这篇文章发到 CI 中国吧?
CodeIgniter 中国

使用道具 举报

Rank: 8Rank: 8

钢锭
0 块
弹簧
48695 根
威望
10917

助人为乐勋章

发表于 2008-10-15 17:20:31 |显示全部楼层
我想 archerchu 应该不会反对吧
珍品网招聘PHP开发工程师,一起创业~待遇从优~欢迎联系 zhenpin.com  联系QQ 75088081

使用道具 举报

Rank: 2

钢锭
0 块
弹簧
53 根
威望
483
发表于 2009-3-17 15:11:03 |显示全部楼层
2# Hex
哈 Hex也来啦~都是牛人啊!学习中……

使用道具 举报

Rank: 2

钢锭
0 块
弹簧
89 根
威望
151

技术专家勋章

发表于 2009-3-18 14:33:34 |显示全部楼层
CI, 我比较早用了, 很久又没有碰了,支持下!

使用道具 举报

Rank: 1

钢锭
0 块
弹簧
14 根
威望
2
发表于 2009-12-20 18:42:00 |显示全部楼层
本帖最后由 idove 于 2009-12-20 18:54 编辑

喜欢ci,就是名字太难读了,考的一个奈特

膜拜下hex

另外楼主把ci的全写写错了,是codeigniter。。

使用道具 举报

Rank: 1

钢锭
0 块
弹簧
7 根
威望
2
发表于 2009-12-27 00:18:33 |显示全部楼层
gyfgfgfgght

使用道具 举报

您需要登录后才可以回帖 登录 | 快速注册

开发教程搜索|网页游戏开发|网页游戏源码|webgame源码|webgame开发|Archiver|网页游戏开发网 ( 陕ICP备05010601号 )

GMT+8, 2012-2-5 18:01

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部