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控 ...
随机推荐
- 我是一个CPU:这个世界慢!死!了!
最近小编看到一篇十分有意思的文章,多方位.无死角的讲解了CPU关于处理速度的理解,看完之后真是豁然开朗.IOT时代,随着科技的发展CPU芯片的处理能力越来越强,强大的程度已经超乎了我们的想象.今天就把 ...
- [USACO4.1]麦香牛块Beef McNuggets 题解报告
题目描述 农夫布朗的奶牛们正在进行斗争,因为它们听说麦当劳正在考虑引进一种新产品:麦香牛块.奶牛们正在想尽一切办法让这种可怕的设想泡汤.奶牛们进行斗争的策略之一是"劣质的包装".& ...
- Redis的Sorted Set有序集合命令
Sorted Set是Set的一个升级版本,它在Set的基础上增加了一个顺序属性,这一属性在添加修改元素的时候可以指定,每次指定后,zset会自动重新按新的值调整顺序.可以理解为有两列的mysql表, ...
- 51nod 1952 栈(单调队列)
用deque实时维护栈的情况. 数加入栈顶部,删掉栈顶部的数,相当于加入一个数,删掉最早出现的数,每次求最大值,这个直接记录一下就好了. 数加入栈底部,删掉栈顶部的数,相当于加入一个数,删掉最晚出现的 ...
- bzoj4753: [Jsoi2016]最佳团体(分数规划+树形依赖背包)
菜菜推荐的“水题”虐了我一天T T...(菜菜好强强qwq~ 显然是个分数规划题,二分答案算出p[i]-mid*s[i]之后在树上跑依赖背包,选k个最大值如果>0说明还有更优解. 第一次接触树形 ...
- TC规则
633人阅读 TC规则涉及到 队列(QUEUE) 分类器(CLASS) 过滤器(FILTER),filter划分的标志位可用U32或iptables的set-mark来实现 ) 一般是" ...
- 手脱ASPack v2.12
1.PEID查壳提示为: ASPack 2.12 -> Alexey Solodovnikov 2.载入OD,程序入口点是一个pushad,在他的下一行就可以进行ESP定律,下硬件访问断点然后s ...
- python使用snappy压缩
今天在网上找了很久,终于找到1个snappy压缩命令行,记录下来: 1.wget https://bootstrap.pypa.io/get-pip.py 2.python ./get-pip.py ...
- centos7.2的yum安装mysql和修改初始密码
一.centos7.2安装mysql CentOS 7之后的版本yum的默认源中使用MariaDB替代原先MySQL,因此安装方式较为以往有一些改变: 下载mysql的源 wget http://de ...
- [DeeplearningAI笔记]序列模型3.7-3.8注意力模型
5.3序列模型与注意力机制 觉得有用的话,欢迎一起讨论相互学习~Follow Me 3.7注意力模型直观理解Attention model intuition 长序列问题 The problem of ...