thinkphp框架使用小结
以前写的,转到这里!
因为要开发项目,所以用TP来快速搭建,感觉对于中小型项目来说,TP还算一款不错的框架,轻量级,使用简单,开发快速,但是估计用到大的项目就不行了,抽空也看了下zend framwork 的用法,它的MVC思想运用的确比TP要丰富些,毕竟是世界上最牛的PHP框架,很不错,以后抽空要研究下,不过估计学起来两者大同小异,不过运行速度还是zend要胜出,人家的引擎还是巨牛的。
对于TP来说印象最深的就是它的关联模型,数据库的关联在程序开发中是一个很重要的概念,一般都是表之间的ID关联,如果用传统的SQL语言来关联就要用JOIN ON以及LEFT JOIN 或是RIGHT JOIN来完成,往往增加了思考的复杂性,而TP对于这个流程进行了模块化封装,只需要将一些关键的属性显性的定义出来即可,打个比方:
例如一个表Profile的userId要关联Dept表的id字段
在模块中就如下定义:
protected $_link=array( 'Dept'=> array( 'mapping_type'=>BELONGS_TO, //映射类型,此处是属于的一对多关系 'class_name'=>'Dept', //要关联的数据表名(不含前缀) 'foreign_key'=>'userId', //Profile表中的与Dept表中id字段要关联的字段userId 'mapping_name'=>'dept', //映射名称,即在模板中要用到的关联名称 // 定义更多的关联属性 …… ),);
$Profile=D('Profile');$data=$Profile->relation(true)->find(1);print_r($data);$Profile->display();
array('id' => 1,'account' => 'ThinkPHP','password' => '123456','Dept' => array( 'email' =>[email protected]', 'nickname' =>'状元秀', ), )
array('id' => 1,'account' => 'ThinkPHP','password' => 'name','email' =>[email protected]','nickname' =>'状元秀', )