PHP的codeIgniter框架和python的Django框架之几点对比
2013-10-31 18:59
330 查看
1、codeigniter的业务逻辑在controller中,django的业务逻辑在views中。按照django文档
的说法,它的设计理念基于视图用来决定展现哪些数据和如何展现数据,而与之相对的,CI
的视图则只用来决定如何展现数据,选择哪些数据的部分则被装入了控制层。
2、Django的控制层主要在于URL配置文件,通过它来控制什么样的URL使用什么方法。CI的控
制层有专门的controllers类,通过URL路由来指定使用哪一个类的哪一个方法。
3、codeigniter的url路由只需要在controller中定义方法,然后框架会自动分析url找到对
应的类和方法。采用类、方法、参数的逐级路由形式。而django的url路由采用映射的方式,
手工在url配置文件里添加映射方法。这样貌似灵活度更高,但同时也增加了工作量。
4、CodeIgniter没有强调内置模板,视图文件即是网页文件,直接用php输出controller传来
的数据。controller的方法通过一个变量“data”传递所有数据到view文件。
而Django强调模板概念,类似于格式信函的方式,把数据保存在context变量中,然后来渲
染模板文件。本质上“逻辑/页面”分离方式跟CodeIgniter差不多,但是页面文件要使用专
门的模板语言来写。
在逻辑和页面的分离上,CodeIgniter更加轻量级,对于前后端都要程序员来写的人来说
更方便。而Django页面模板和后端用不同语言也许更适合团队分工明确的项目,对程序员来
说增加了学习成本。
另外,模板标签非常有用,可以让页面进一步分离而重用。
Django模板的本质就是载入html文件,对该文件进行分析并且进行各种操作(比如替换,增加标签等),
然后再发送给浏览器。
模板继承方便了复用代码。这一点比codeigniter好。
5、CI强制程序使用单入口,Django没有这个限制。而另一方面,CodeIgniter非常轻量级,可以自己随心所欲的添加和写代码,不需要拘束于框架本身,但Django就告诉你了一套规则,你必须按照它的这一套规则去做。
的说法,它的设计理念基于视图用来决定展现哪些数据和如何展现数据,而与之相对的,CI
的视图则只用来决定如何展现数据,选择哪些数据的部分则被装入了控制层。
2、Django的控制层主要在于URL配置文件,通过它来控制什么样的URL使用什么方法。CI的控
制层有专门的controllers类,通过URL路由来指定使用哪一个类的哪一个方法。
3、codeigniter的url路由只需要在controller中定义方法,然后框架会自动分析url找到对
应的类和方法。采用类、方法、参数的逐级路由形式。而django的url路由采用映射的方式,
手工在url配置文件里添加映射方法。这样貌似灵活度更高,但同时也增加了工作量。
4、CodeIgniter没有强调内置模板,视图文件即是网页文件,直接用php输出controller传来
的数据。controller的方法通过一个变量“data”传递所有数据到view文件。
而Django强调模板概念,类似于格式信函的方式,把数据保存在context变量中,然后来渲
染模板文件。本质上“逻辑/页面”分离方式跟CodeIgniter差不多,但是页面文件要使用专
门的模板语言来写。
在逻辑和页面的分离上,CodeIgniter更加轻量级,对于前后端都要程序员来写的人来说
更方便。而Django页面模板和后端用不同语言也许更适合团队分工明确的项目,对程序员来
说增加了学习成本。
另外,模板标签非常有用,可以让页面进一步分离而重用。
Django模板的本质就是载入html文件,对该文件进行分析并且进行各种操作(比如替换,增加标签等),
然后再发送给浏览器。
模板继承方便了复用代码。这一点比codeigniter好。
5、CI强制程序使用单入口,Django没有这个限制。而另一方面,CodeIgniter非常轻量级,可以自己随心所欲的添加和写代码,不需要拘束于框架本身,但Django就告诉你了一套规则,你必须按照它的这一套规则去做。
相关文章推荐
- 【转】浅谈python(django框架)和PHP(QEEPHP框架)学习体会
- python+django MTV框架 和php MVC框架
- Apache+PHP+Python(Django框架)搭建成功
- python+django MTV框架 和php MVC框架的不同之处
- Python的Django框架中从url中捕捉文本的方法
- 在Python的Django框架中包装视图函数
- Python web框架Django学习(1)——在win7 64bit下配置开发环境Django:一个可以使Web开发工作愉快并且高效的Web开发框架。 使用Django,使你能够以最小的代价构建和
- 在Python的Django框架中显示对象子集的方法
- Python六大开源框架对比:Web2py略胜一筹
- Python框架Django -- 01 入门
- [Django]介绍一款Python框架:Django的安装与服务器的搭建
- Python3之Django Web框架CMS总结
- 支付宝即时到帐接口的python实现,示例采用django框架
- Python框架之Django
- Python Web框架Django (四)
- PHP三大框架对比
- CodeIgniter PHP 框架
- Python简单搭建一个Django框架
- 使用 CodeIgniter 框架快速开发 PHP 应用(三)
- Java, Python, Ruby, PHP, C等语言性能对比