用户
 找回密码
 入住 CI 中国社区
搜索
查看: 25294|回复: 13
收起左侧

[讨论/交流] CodeIgniter与ThinkPHP两个框架各自有什么优势?

  [复制链接]
发表于 2011-5-13 15:00:37 | 显示全部楼层 |阅读模式
有人问我,CI与TP两个哪个更好点,我不知道,哪位大神知道,帮忙说说。最好详细点,说说CI的特点,还有它的好处。我才接触这个,不是很明白。谢谢!
发表于 2011-5-13 15:14:47 | 显示全部楼层
没有好不好,只有顺不顺手~~~
发表于 2011-5-13 17:36:07 | 显示全部楼层
发表于 2011-5-14 00:11:06 | 显示全部楼层
ls正解,我也去学习学习
发表于 2011-5-14 20:06:13 | 显示全部楼层
回复 xxcn 的帖子

就像是说JAVA好还是C++好似的
 楼主| 发表于 2011-5-15 17:15:06 | 显示全部楼层
回复 jeongee 的帖子

我感觉也是……
 楼主| 发表于 2011-5-15 17:20:38 | 显示全部楼层
系统的学习了下thinkphp,于是把它跟codeigniter联系起来看了看。觉得框架的基本原理还是相通的,不同的是实现的方式和解析的方法(编译型,解释型),终归离不开MVC模式。不外乎就是控制器控制模型和视图的全局调动。控制器中的每一个方法(函数)一般情况下就是一个页面(某些时候只用来做某件事,比如处理提交过来的数据,无需输出对应模版)。模型呢,主要是在控制器的作用下用来与数据库进行交互。将处理的结果再在控制器的作用下通过视图渲染输出!理解了这一点,我觉得下面就很好办了。只是他们的实际操作会有所不同。一般各自都有一套自己的语法体系。就拿视图部分来讲,codeigniter与thinkphp有点不一样,例如给模版传递变量,codeigniter这样操作$this->load->view(‘myview’,$data);需要把使用的数据封装到一个数组内作为参数跟随视图一起装载过去。而thinkphp通过assign函数传递$this->assign(‘name’,$name);视图则另外通过display函数来处理。

在codeigniter中,可以在控制器中分部装载视图,也可以在视图中再装载视图,以及将视图暂时存储为起来,需要的时候再调用!视图的编写可以是纯静态代码也可掺杂php代码。在thinkphp中则提供了丰富的系统自定义标签及系统常量来使用,可以使最终的模板看起来更加简洁高效。

google到的……
郁闷,如果从开发效率,维护效率上来说的话,那个更贴心一点,我个人认为Tp比较适合我,因为方法调用与smarty差别不是很大……用着比较爽,不过令人纠结的是CI也可以加载smarty,同样用着不错,选择题,true   or   false;

发表于 2011-10-17 17:06:45 | 显示全部楼层
学习了。。。
TP没用过。。。
发表于 2011-10-25 11:01:26 | 显示全部楼层
本帖最后由 thenbsp 于 2011-10-25 11:06 编辑

我是从thinkphp转来的,严格来说不是转,而是在使用了thinkphp之后,我想休验一下CI有什么不一样,总结一下:文档方面CI很丰富,容易理解,但TP的也思毫不逊色,还有我个人更喜欢CI这样不用模版引擎(虽然大多数人喜欢用),目录结构和文件命名规则方面我更喜欢CI(更接近标准化),URL模式方面我认为TP用起来更习惯,它可以很方便的修改配置文件来更改URL模式,例如http://domain.com/index.php?m=user&a=view&uid=1要更改成http://domain.com/user/view/uid/1只需要修改URL_MODEL = 2,CI直到现在我没有发现这个功能(可能有但我没发现),还有很多小细节TP比CI方便,比如模板替换(还有很多),总之各有各的特色,没有哪个更好之说,只有哪个更适合你,不过我更倾向于TP(仅代表个人)。
 楼主| 发表于 2011-10-25 12:56:52 | 显示全部楼层
thenbsp 发表于 2011-10-25 11:01
我是从thinkphp转来的,严格来说不是转,而是在使用了thinkphp之后,我想休验一下CI有什么不一样,总结一下 ...

现在也明白了,TP比较适合快速建立站点,我个人觉着TP做起来比较快点,但是CI的逻辑性很强,最重要的一点是很自由,我也比较喜欢TP但是纠结的是已经有差不多好几个月没有用这两个东西了,公司的东西完全就是一个字符串式的网站,对此我表示鸭梨很大呀……

本版积分规则