|
![](static/image/common/ico_lz.png)
楼主 |
发表于 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;
|
|