不知不觉学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真的让我对框架有了充分的认识和了解,对我的帮助可谓巨大。

  代码有代码的神秘,框架也有框架的魅力,我想,我已经渐渐感受到了。。。

注:新手上路,多有不足,大神轻喷,请多指教。

 

tp总结的更多相关文章

  1. tp框架实现验证码

    今天来看一个小插件. tp框架是怎么实现验证码的. 又到了我们千篇一律的时候了,首先呢,先做一个用来显示的html界面名为:zhuce.html <!DOCTYPE html PUBLIC &q ...

  2. tp框架验证信息

    今天在这里我们学习一下tp框架里面怎么做验证. 验证又分为两种:静态验证.动态验证 首先,我们还是先做一个html界面,名为add.html.代码如下: <!DOCTYPE html PUBLI ...

  3. tp框架实现ajax

    不墨迹,直接进主题. tp框架实现ajax 首先,我们先做一个testajax.html用来显示页面(只是一个简单的下拉列表^_^) <!DOCTYPE html PUBLIC "-/ ...

  4. tp框架的增删改查

    首先,我们来看一下tp框架里面的查询方法: 查询有很多种,代码如下: <?php namespace Admin\Controller; use Think\Controller; class ...

  5. tp基础,文件存储路径

    tp框架的几点注意事项: 1.tp框架结构MVC模式2.MVC模式最终访问的是方法,不是具体 页面3.控制器用驼峰法命名4.约定胜于配置 index.php:入口文件 Application:应用程序 ...

  6. tp框架之自动验证表单

    tp框架的create自动加载表单的方法可以自动根据自己定义的要求来验证表单里面的内容,但是由于是在后台执行代码,会拖慢程序运行速度,所以还是建议通过前端js来进行判断,后台只进行数据库的查询以及传值 ...

  7. tp框架之分页与第三方类的应用

    1.先把分页类放在根目录下,比如放在某个模块下 2.在类里面写入命名空间,注意类名的格式(类名要与里面的方法名一致) 3.在需要的方法里面按照路径进行实例化,然后就可以使用了 方法: public f ...

  8. tp中使用分页技术

    1 public function showList() { $m_ld = D ( 'guangxi_ld' ); $page = I ( 'get.p', 1 ); // 在配置中获取分页值 $p ...

  9. tp框架之Model类与命名空间

    1.获取系统常量信息 public function shuchu() { var_dump(get_defined_constants()); } 2.跨控制器或跨模块调用 function dia ...

  10. TP框架 ---空控制器和空操作

    通过之前的学习我们知道了index.php是一个入口文件,如果没有这个入口文件的话,我们需要自己创建! [视图模板文件创建] 视图模板文件存放发位置在: 里面没有模板文件 如果我们想要访问Login控 ...

随机推荐

  1. Bootstrap 环境安装

    下载 Bootstrap 可以从 http://getbootstrap.com/ 上下载 Bootstrap 的最新版本.当点击这个链接时,将看到如下所示的网页: 您会看到两个按钮: Downloa ...

  2. 【BZOJ4197】【NOI2015】寿司晚宴(动态规划)

    [BZOJ4197][NOI2015]寿司晚宴(动态规划) 题面 BZOJ 从\([2,n]\)中选择两个集合(可以为空集),使得两个集合中各选一个数出来,都互质. 求方案数. 题解 对于\(500\ ...

  3. [CodeVs1050]棋盘染色2(状态压缩DP)

    题目大意:有一个5*N(≤100)的棋盘,棋盘中的一些格子已经被染成了黑色,求最少对多少格子染色,所有的黑色能连成一块. 这题卡了我1h,写了2.6k的代码,清明作业一坨还没做啊...之前一直以为这题 ...

  4. 【数学】【背包】【NOIP2018】P5020 货币系统

    传送门 Description 在网友的国度中共有 \(n\) 种不同面额的货币,第 \(i\) 种货币的面额为 \(a[i]\),你可以假设每一种货币都有无穷多张.为了方便,我们把货币种数为 \(n ...

  5. jvm容器的关系

    jvm实例,tomcat容器,spring容器,在内存中的关系5 1.一个java项目对应一个jvm 吗? 2.tomcat里面加载多个java项目 ,是不是用了一个jvm? 3.java项目中的sp ...

  6. python学习笔记(四) 思考和准备

    一.zip的坑 zip()函数接收多个可迭代数列,将数列中的元素重新组合,在3.0中返回迭代器指向 数列首地址,在3.0以下版本返回List类型的列表数列.我用的是3.5版本python, 所以zip ...

  7. 数据分析与展示---Numpy入门

    概括: 一:数据维度 (一)一维数据 (二)二维数据 (三)多维数据 (四)高维数据 二:Numpy的数组对象:ndarray (一)Numpy介绍 (二)N维数组对象ndarray (三)ndarr ...

  8. tomcat8在centos7.5下配置开机启动

    本文参考这篇文章 一.在/etc/init.d下新建一个文件tomcat,并添加内容如下: #!/bin/sh # chkconfig: 345 99 10 # description: Auto-s ...

  9. awk是全局周期

    需要折行时需要用转译符,转译回车,回车是提交命令     \           如果你的命令中有单引号也可以  awk 支持C语言 awk '{name[$1]=name[$1]+$2} END{f ...

  10. ASP.NET 3.5控件和组件开发技术之客户端回发/回调揭密

    本文摘录自<纵向切入ASP.NET 3.5控件和组件开发技术>. 对于服务端控件元素,比如ASP.NET的Button标准服务端控件在提交时可以自动把请求发送到服务端处理,这样的控件我们不 ...