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真的让我对框架有了充分的认识和了解,对我的帮助可谓巨大。
代码有代码的神秘,框架也有框架的魅力,我想,我已经渐渐感受到了。。。
注:新手上路,多有不足,大神轻喷,请多指教。
tp总结的更多相关文章
- tp框架实现验证码
今天来看一个小插件. tp框架是怎么实现验证码的. 又到了我们千篇一律的时候了,首先呢,先做一个用来显示的html界面名为:zhuce.html <!DOCTYPE html PUBLIC &q ...
- tp框架验证信息
今天在这里我们学习一下tp框架里面怎么做验证. 验证又分为两种:静态验证.动态验证 首先,我们还是先做一个html界面,名为add.html.代码如下: <!DOCTYPE html PUBLI ...
- tp框架实现ajax
不墨迹,直接进主题. tp框架实现ajax 首先,我们先做一个testajax.html用来显示页面(只是一个简单的下拉列表^_^) <!DOCTYPE html PUBLIC "-/ ...
- tp框架的增删改查
首先,我们来看一下tp框架里面的查询方法: 查询有很多种,代码如下: <?php namespace Admin\Controller; use Think\Controller; class ...
- tp基础,文件存储路径
tp框架的几点注意事项: 1.tp框架结构MVC模式2.MVC模式最终访问的是方法,不是具体 页面3.控制器用驼峰法命名4.约定胜于配置 index.php:入口文件 Application:应用程序 ...
- tp框架之自动验证表单
tp框架的create自动加载表单的方法可以自动根据自己定义的要求来验证表单里面的内容,但是由于是在后台执行代码,会拖慢程序运行速度,所以还是建议通过前端js来进行判断,后台只进行数据库的查询以及传值 ...
- tp框架之分页与第三方类的应用
1.先把分页类放在根目录下,比如放在某个模块下 2.在类里面写入命名空间,注意类名的格式(类名要与里面的方法名一致) 3.在需要的方法里面按照路径进行实例化,然后就可以使用了 方法: public f ...
- tp中使用分页技术
1 public function showList() { $m_ld = D ( 'guangxi_ld' ); $page = I ( 'get.p', 1 ); // 在配置中获取分页值 $p ...
- tp框架之Model类与命名空间
1.获取系统常量信息 public function shuchu() { var_dump(get_defined_constants()); } 2.跨控制器或跨模块调用 function dia ...
- TP框架 ---空控制器和空操作
通过之前的学习我们知道了index.php是一个入口文件,如果没有这个入口文件的话,我们需要自己创建! [视图模板文件创建] 视图模板文件存放发位置在: 里面没有模板文件 如果我们想要访问Login控 ...
随机推荐
- BZOJ1367 [Baltic2004]sequence 【左偏树】
题目链接 BZOJ1367 题解 又是一道神题,, 我们考虑一些简单的情况: 我们先假设\(b_i\)单调不降,而不是递增 对于递增序列\(\{a_i\}\),显然答案\(\{b_i\}\)满足\(b ...
- selenium测试 - open Firefox
环境:Python2.7+selenium3+Firefox47 问题1: 在打开火狐浏览器时报错:‘geckodriver‘ executable needs to be in PATH fro ...
- Listener 介绍
当 web 应用在 web 容器中运行时,web 应用内部会不断地发生各种事件:如 web 应用启动.web 应用停止,用户 session 开始.用户 session 结束.用户请求到达等. 实际上 ...
- laravel调试神器tinker
一直以来,想调试框架中的某些东西,如想知道 Elpquent 的 create 方法返回值是个什么东西, 以前的话,应该就是在 create 方法调用之后,使用 dd 或者 var_dump 之类的函 ...
- 「Linux」centos7安装python
•安装python3.6可能使用的依赖 yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqli ...
- 斯皮尔曼等级相关(Spearman’s correlation coefficient for ranked data)
sklearn实战-乳腺癌细胞数据挖掘(博主亲自录制视频) https://study.163.com/course/introduction.htm?courseId=1005269003& ...
- linux的进程1:rootfs与linuxrc
在内核启动的最后阶段启动了三个进程 进程0:进程0其实就是刚才讲过的idle进程,叫空闲进程,也就是死循环.进程1:kernel_init函数就是进程1,这个进程被称为init进程.进程2:kthre ...
- centos7下安装配置jenkins+git+maven+jdk
环境 centos7 jdk1.8 maven3 git 在安装jenkins之前,先安装jdk1.8.maven.git 一. 安装jdk1.8 第一步:下载 jdk-8u131-linux-x64 ...
- [Luogu 1196] NOI2002 银河英雄传说
[Luogu 1196] NOI2002 银河英雄传说 话说十六年前的 NOI 真简单... 我一开始还把题看错了- 题意:一群人,每个人各自成一队,每次命令让两队首位相接合成一队,每次询问问你某两个 ...
- Log-structured File Systems
换到博客园排版有问题,原版在这里:http://xubenbenhit.github.io/LogStructureFileSystem.html Log-structured File System ...