欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

thinkphp框架应用小结

程序员文章站 2022-04-22 14:25:43
...
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', //映射名称,即在模板中要用到的关联名称        // 定义更多的关联属性                                 ……                 ),);


将上述内容放入ProfileModel中即关联了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'  =>'状元秀',   ), )


如果在关联属性中加入 'as_fields'=>'email,nickname',则为下列结果

array('id'           =>   1,'account'      =>  'ThinkPHP','password'     => 'name','email'        =>[email protected]','nickname'     =>'状元秀', )


  这只是一个地方,还有很多犀利的地方就不一一列举了,例如自动验证,自动完成这些强悍的功能,对于快速开发用框架技术的确是很不错的选择,模块化的东西会节省很多时间与精力,对于编程来说,一定要站在巨人肩上,取百家之长才是硬道理。
thinkphp框架应用小结

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频