tp总结
不知不觉学tp也快一个月了,虽然还处于一个仅仅只会使用的阶段,但毕竟算是我详细接触的第一个脚本框架,tp还是让我收获了许多。
废话不多说,先列出几个对于我这种新手来说tp新奇而实用的地方。
1、连贯操作
个人觉得tp的连贯操作真的是为新手打开了一扇新的大门(新手个人观点,大神轻喷),首先它支持所有的CURD操作,学会这个几乎就所有的跟数据库有关的操作都不用再发愁了,当然,前提是你要懂得数据库的基础语法。再者,连贯操作有效的提高了数据存取的代码清晰度和开发效率,使用起来相当简单。嗯,这里如果要举例子的话,不得不顺带提一句tp的大写单字母方法,一个字母就能实现你以前需要一行或者多行代码才能实现的功能,真的是炒鸡实用。下面是一个小例子:$User = M('User');//M函数用于实例化一个没有模型文件的Model,这里我们用来实例化一个数据表User
$User->order('create_time')->limit(10)->where('status=1')->select();
这短短一行代码就实现了查询一个User表的满足状态为1的前10条记录,简洁明了啊有木有。而且它的方法调用顺序不分先后,很多方法还支持多次调用,可谓是自由度极高,在也不用担心写代码的时候因为个人习惯造成顺序不对而异常的情况了,最后再强调一次,它支持所有的CURD操作!!!
2、变量输出
这又是一个非常实用的功能。tp可以通过assign方法向对应的模版输出你所需要的变量,然后在模版文件中就可以直接调用这个变量了,而且tp还添加进了许多诸如foreach、if之类的标签,让你可以很好的处理你的数据变量,哪怕数据变量是一个数组,哪怕你需要有不同的显示情况,这些都不是问题。有了它,你很多时候都不需要再用表单或者ajax去向后台PHP发送请求,来以此获取你所需要的数据并把它们展示到你的页面上。你可以不用再为表单提交时的自动跳转问题而苦恼(在你不需要跳转的时候),也可以不用因为有时候你只是需要一个非常短的数据时,却要写大段代码来实现ajax请求而无奈,tp为你省略了这些步骤,让前台对数据的展示变得方便快捷,并且更加完美。
3、模版继承和布局
没错,你没有看错,模版也可以继承了。这意味着,当你的项目因为需求而有很多地方架构相似但又有所不同的时候,你不用再为可能需要写许多整体结构相同可以说重复的代码,而且还要为它们重新设置css样式而苦恼了,你可以直接定义一个基础模板,并且其中定义相关的区块(block,也就是你很多地方可能会重复的架构),然后直接在子模版中继承(<extend name="baseName" />)该基础模版,对其区块进行重载,以此来实现一些小地方的不同(改动)。再来说模版布局,它所支持的嵌套功能真的是解决了大问题,又相对节省了时间。相信很多人应该发现有些类似博客之类的网站都有一个相同的特点,就是在多个页面切换的时候,它们的头部和脚部(或者其它一些地方)都是没有变化的。一般来说这个要如何实现? 再写一个完整相同的的页面,然后中间地方有所不同?这样代码的重量太大了。 通过ajax请求去动态改变不同的部分?可是当你执行一些刷新或者需要刷新的操作的时候,它们都将变回原样,这会使得用户体验非常差。而模版布局就为我们解决了这个问题,你可以把类似头部脚部这样的大块内容直接拆开封装成为一个单独的文件,然后通过定义layout文件用include标签把这些头、脚文件拼接在一起,最后,你只需要写好中间不同的内容(不需要头和脚并且都可以是一个单独的html文件),再用layout标签把他们都嵌套到头和脚中间就OK了,这样你直接访问的每一个中间内容文件,都能显示已经定义好的公用的头和脚,也就是说看到的是一个完整的html页面。
4、更多
当然tp给我们带来的便利还有很多很多,这些都需要自己去学习,这里我就不再啰嗦了。
说这么多,只是为了表达,tp真的让我收获了很多,虽然刚开始学的时候困难重重,虽然现在的我不懂、不知道的还有很多,但是tp真的让我对框架有了充分的认识和了解,对我的帮助可谓巨大。
代码有代码的神秘,框架也有框架的魅力,我想,我已经渐渐感受到了。。。
注:新手上路,多有不足,大神轻喷,请多指教。