tp框架基础(详细步骤分解,易懂)下
在浏览器中如果要访问操作方法的时候以什么方式来访问
有四种方式
第一种是get方式,第二种是访问路径
这四种方式我们可以通过修改配置文件来改掉url的模式
我们需要来改一下我们的配置文件
在这个路径下来改配置,打开这个文件
改什么配置呢
再打开这个路径下的文件
找到这个文件url打头的
把这句话复制一下,把它拿到我们自己的配置文件里粘贴
在这里面进行修改
这里有个数字,代表我们的访问模式,如果是0的话,就是普通方式,get方式,如果改1的话,就是路径模式,如果改2的话就是重写模式,如果是3的话就是兼容模式
无论数字那里改成几,在浏览器访问的时候这四种依然可以使用,所以这个地方改不是针对我们访问用的,是针对我们生成用的,如果改成0,我们想生成一个url地址的话,可以看一下到底生成什么样
打开这个路径里面的文件
打开文件,然后输出一下u
然后在浏览器中,输出tp地址
会出来它的地址,也就是get模式
然后再把配置文件中的0 改成 1
然后再刷新一下
就会变回这种方式
所以生成的这种方式是按照我们的配置文件来的,访问的时候,配置文件没有作用,哪种都可以访问,生成的时候配置文件才会有作用
如果这里只写一个参数的话
它创建的这个路径就是home文件夹下index控制器下index操作方法
如果想创建别的控制器里面的操作方法的话,前面要写控制器名,如图
这个就代表 创建的目录是另外一个控制器,里面有个操作方法叫index
来创建这个访问路径
如果不写的话就是指当前控制器下的操作方法
如果模块都不一样的话,可以这样写,如图
这样就代表,在该控制器下创建一个Admin模块下的Two,这个控制器下的操作方法
根据参数的不一样,创建的路径也是不一样的
下面再来自己的配置文件里,加上这样一段话
显示tract信息
然后再来刷新页面看一下
在页面的右下角出来了一个图标
单击图标,会出来这些内容
上面的文件、错误、sql什么的都可以点击
这个配置尽量要打出来
打开入口文件,也就是index.php ,找到这句话
有一个常量APP_PATH ,默认定义的是当前目录下的application文件夹
如果一个程序不想使用application文件夹,可以把它改掉,如图
然后保存一下。本来tp文件夹里没有shop文件夹
我们需要重新访问一下入口文件
再来看一下tp目录下有没有Shop文件夹
已经有了,而且里面还有三个文件夹
打开home模块,里面该有的内容都有
所以以后要切换程序的话,就改这个地方
Shop文件夹下,home模块完全可以自定义
例如,定义一个Admin模块
自定义的这个模块怎么才能和home一样使用呢
这就要在Admin文件下建好相应的文件夹
第一个文件夹 Common
第二个文件夹 Conf
第三个文件夹 Controller
第四个文件夹 Model
第五个文件夹 View
都建好后就是这样
可以在Controller 里面写自己的控制器,这里要注意,这五个文件夹的名字是固定的,格式也是固定的,就不能随便写了
先来看一下控制器该怎么写
现在Controller里面建个文件
名字格式也是有约定的,名字可以随便起,但要使用驼峰法,后面跟Controller控制器,然后点class点php
打开这个控制器
再来书写里面的代码,可以参考它自带的控制器里面的内容写
写法格式一定要参照着来写
我们来从浏览器,试一试能不能访问到
结果访问到了
这个就是怎么来操作控制器
再来看一下模板文件应该放在哪里
就是放在View里面,打开这个文件夹
在里面不能直接扔模板,要先建控制器的文件夹
这里的文件名要和控制器的名字一致
再在里面建一个文件
这里要注意这两个名字要和控制器里面写的名字一致
然后再给index文件添加内容
控制器里调用一下
用display方法
然后再刷新一下浏览器的访问地址
模块里面的内容被调出来了
还有一种方法可以调
show方法
display方法属于smarty的一种风格
show方法属于tp的一种风格
在tp这里,这两种方法都可以用,都能把模板调出来显示
除了能显示模块,还能往模块里面注入变量
注入变量要这么写
调用assign方法
这样就给tp框架注册了一个变量
接下来在index模板想把test拿过来使用
应该怎么写
在模板里面如果想调变量过来使用,要先知道左分隔符右分隔符是什么,才能调出来
在这个目录下打开这个文件
找到这两句话
如果觉得花括号会冲突的话,可以把它改一下,但要注意不要在这里面改,把它复制到我们自己的配置文件里面去改
先在Shop自己做个配置文件,要在这里写,目录如下
新建一个文件,文件名是固定的
然后给里面添加内容
先来参考一下它的配置文件是怎么写的
第一句话不用写,从第二句开始,然后里面的内容光放我们需要改的那部分就好
把分隔符改成了'<{' 这样的形式
改完后,回到index文件里
调一下变量,看看能不能出来
刷新一下原来的页面
测试被成功调出
tp框架的语法和smarty里面的语法基本相似
显示和注册变量是一致的
smarty里面可以调数组,试试tp框架里面能不能调取数组
模块文件里调取数组索引0
刷新页面
运行成功,arr索引0,是1
再把它改成一个关联数组,试试
index文件中
刷新页面
运行成功,输出111
在这里点语法也是支持的
刷新一下
运行成功
tp框架和smarty基本类似,没有太大的差别
再来看,如果在index文件里面写个提交表单的话,提交的地址要写什么
它应该指向的是控制器的操作方法
在控制器那里再写一个操作方法,先让它输出一句话,如下
因为换了一个操作方法,所以在浏览器地址上把index 改成chuli ,看看能不能把这句话输出来
成功输出
然后把chuli的这个操作方法的网址复制下来,粘贴到这个地方
可以写个按钮,然后我们提交一下,试一试
然后刷新页面运行一下,还是改回index
然后点击提交
页面立马跳转到了chuli页面
不过在提交表单的路径那里,直接那么写的话,麻烦了一点,我们来看看怎么写能把路径简化了
我们先获取一下系统常量看一下
刷新一下chuli的浏览页面,会出来许多的常量
我们拉到最后,从这里开始
user下面的常量是我们经常用的
有很多显示的路径
chuli和index是在同一个控制器下,所以我们就可以使用__CONTROLLER__
这个代表着 找当前控制器下的操作方法
我们可以试一下
点击提交
跳转成功
tp框架基础(详细步骤分解,易懂)下的更多相关文章
- TP框架基础(一)
[使用框架] 官网:thinkphp.cn. 目前建议使用thinkPHP3.2版本 一.结构目录>Thinkphp文件夹,是thinkPHP的核心文件,里面的内容是不允许我们修改的 > ...
- TP框架基础
什么是TP框架: 一堆代码的集合,里边有变量.函数.类.常量,设计模式MVC.AR数据库.单例等等.全称是Tinkphp框架; 为什么使用框架: 使用框架将全部精力集中在业务层次,节省50-60%的工 ...
- TP框架 基础1
php框架 一.真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维护项目,十分困难,代码风格 ...
- SSH框架搭建详细步骤整理
学习Java面前有两座山,一座山叫SSM,一座山叫SSH,跨越了这两座山之后才能感受到这个语言的魅力所在,SSM框架的搭建详细在之前博客已经涉及了,今天来整理SSH框架详细步骤: 生有涯 而 学无涯 ...
- tp框架基础知识
作者:黄力军 index.php入口文件:作用,所有tp框架里的内容要想访问文件.都要走index.php文件他是整个程序的入口 Application代表应用程序的目录 所有写的应用程序放这里 ...
- TP框架基础(三)
[系统常量信息] 获取系统常量信息: 如果加参数true,会分组显示: >系统常量信息里经常用到的是user里的路径 > APP_PATH =>string'./shop/' 项目路 ...
- TP框架基础(四)----添加数据
[数据添加] add() 该方法返回被添加的新记录的主键id值 两种方式实现数据添加 1. 数组方式数据添加 $goods = D(“Goods”); $arr = array(‘goods_name ...
- tp框架的详细介绍,tp框架基础
php框架 真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维护项目,十分困难,代码风格不一 ...
- TP框架基础 (二) ---空控制器和空操作
通过之前的学习我们知道了index.php是一个入口文件,如果没有这个入口文件的话,我们需要自己创建! [视图模板文件创建] 视图模板文件存放发位置在: 里面没有模板文件 如果我们想要访问Login控 ...
随机推荐
- 冒泡排序法-java案例详解
/** * 功能:冒泡排序法 * 思想:通过对待排序序列从后向前(从下标较大的元素开始),依次比较相邻元素的排序码, * ,若发现逆序这交换,使得排序码较小的元素逐渐从后部移向前部(从下标较大的单元移 ...
- PHP函数 mysql_real_escape_string 与 addslashes 的区别
addslashes 和 mysql_real_escape_string 都是为了使数据安全的插入到数据库中而进行的过滤,那么这两个函数到底是有什么区别呢? 首先,我们还是从PHP手册入手: 手册上 ...
- ThinkPHP 分组,应用,跳转
一.多应用配置技巧 在主入口文件index.php同级目录,新建一个 config.php 写入公共的配置项,然后在前后台各自的配置文件config.php中 $arr = include ...
- 网格视图(GridView)功能和用法
GridView用于在界面上按行.列分布的方式来显示多个组件.GridView和ListView有共同的父类:AbsListView,因此GridView和ListView具有很高的相似性,它们都是列 ...
- IEcss样式,行高的问题
input的文本内容显示一定要用line-height,不然会出现内容错位的问题
- CI Weekly #12 | 微信小程序的自动化测试进阶
岁末将至,站在年终冲刺的尾巴上,flow.ci 新增了个人和团队设置的功能: 上线团队功能,注册时默认创建一个与用户名一致的团队,可设置:团队名称.增减团队成员,后续会不断完善: 增加个人设置,可修改 ...
- Unity随手记
过年11天假期,带娃带了7天,吃吃喝喝.也看了点书,<射雕英雄传>(书)看了一半,还有就是在看<unity官方案例精讲>这本. 随手记一些自觉有价值或者有意思的点. 1. 对脚 ...
- 正则匹配所有的a标签
<a\b[^>]+\bhref="([^"]*)"[^>]*>([\s\S]*?)</a>分组1和分组2即为href和value解释: ...
- jQuery --checkbox全选和取消全选简洁高效的解决办法
最近在公司做了一个小项目,其中有一个全选和取消全选的这么一个模块,搞了半天找不到一种最佳的解决方案!后来通过各种努力找到了一种简洁高效的解决办法,这里想和大家分享一下.有问题的话,还望各路大神指导一二 ...
- 【LeetCode题解】链表Linked List
1. 链表 数组是一种顺序表,index与value之间是一种顺序映射,以\(O(1)\)的复杂度访问数据元素.但是,若要在表的中间部分插入(或删除)某一个元素时,需要将后续的数据元素进行移动,复杂度 ...