thinkphp框架应用小结
Jun 13, 2016 pm 01:02 PM
array
gt
profile
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' =>'gs@123.com', 'nickname' =>'状元秀', ), )
登录后复制
如果在关联属性中加入 'as_fields'=>'email,nickname',则为下列结果
array( 'id' => 1, 'account' => 'ThinkPHP', 'password' => 'name', 'email' =>'gs@123.com', 'nickname' =>'状元秀', )
登录后复制
这只是一个地方,还有很多犀利的地方就不一一列举了,例如自动验证,自动完成这些强悍的功能,对于快速开发用框架技术的确是很不错的选择,模块化的东西会节省很多时间与精力,对于编程来说,一定要站在巨人肩上,取百家之长才是硬道理。
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门文章
击败分裂小说需要多长时间?
3 周前
By DDD
仓库:如何复兴队友
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
公众号网页更新缓存难题:如何避免版本更新后旧缓存影响用户体验?
3 周前
By 王林
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前
By 尊渡假赌尊渡假赌尊渡假赌

热门文章
击败分裂小说需要多长时间?
3 周前
By DDD
仓库:如何复兴队友
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
公众号网页更新缓存难题:如何避免版本更新后旧缓存影响用户体验?
3 周前
By 王林
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前
By 尊渡假赌尊渡假赌尊渡假赌

热门文章标签

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

简单明了的PHP array_merge_recursive()函数使用方法
