ThinkPHP3(结构,路由,模板的调用,后台搭建,系统常量)
ThinkPHP的结构如下:

在ThinkPHP\Library\Think文件夹中,几个重要的文件
1、App.class.php 框架核心类文件
2、Think.class.php 每次请求都要执行的类
3、Controller.class.php 控制器的父类
4、Model.class.php 模型的父类
5、View.class.php 视图的父类
搭建ThinkPHP的环境
在站点下新建index.php,代码如下:

运行后出现欢迎界面,在说明系统自动生成了ThinkPHP的项目目录,并写入了初始的控制器和方法。
自动生成的目录如下:

创建控制器
- 控制器存放在Controller文件夹中
- 命名规范:控制器的名称+Controller.class.php
- 类名和文件的名称要一致
- 类名用帕斯卡命名法
- 尽量区分大小写,windows不区分大小写,但Linux中区分
- ThinkPHP默认的编码是UTF-8的。
- 如果地址中没有写控制器,这默认调用Index控制器,如果没有写方法,则默认调用index方法
命名法:
1、帕斯卡命名法:首字母大写 UserName MyNameIsLiping
2、骆驼命名法:userName _user_name
3、匈牙利命名法:前缀(类别)+名字 radSex txtUsername iIength oStu
ThinkPHP的路由

结合U()方法使用
1、普通模式

2、pathinfo模式
http://网址/入口文件(index.php)/分组(平台)/控制器/方法
比如:http://localhost/index.php/home/index/index

3、rewrite()重写模式
正则表达式来重写
4、兼容模式
参数s=/分组/控制器/方法。

ThinkPHP中,默认使用pathinfo模式。
定义和调用TP的模板
所有的模板都要放在view文件夹下。
规则:一个控制器对应一个文件夹,一个方法对应一个文件

TP模板的调用

TP系统常量

项目后台的搭建
1、在Application文件夹下新建一个Admin文件夹,在Admin文件夹中新建Controller和View文件夹。

2、在Admin\Controller控制器中新建一个LoginController.class.php页面,代码如下:

3、在login.html中更改css、js、img的路径

表单提交地址更改

4、在Admin\Controller文件夹中新建ManagerClass.php文件

5、对应的index页面中更改如下:

6、注意更改index、head、left、right页面中的路径
模板中常量字符串替换


系统常量
__ROOT__:当前网站路径
__APP__
__SELF__ :当前路径
__MODULE__:当前分组
__CONTROLLER__:当前控制器
__ACTION__:当前方法
__URL__等于__CONTROLLER__
ThinkPHP3(结构,路由,模板的调用,后台搭建,系统常量)的更多相关文章
- tp5.0在控制器中和在模板中调用配置文件中的常量
框架配置文件config.php中定义 'view_replace_str' => [ '__MEMBER__'=> '/static/member', '__uplo ...
- 0623-TP框架整理一(下载、入口文件、路由、创建控制器、调用模板、系统常量、命名空间)
一.下载解压后用ThinkPHP(核心)文件 核心文件夹(ThinkPHP)不要改,是作用于全局的,有需要可以改应用目录(Application) 二.创建入口文件: 运行后出现欢迎界面,在说明系统自 ...
- 搭建一个BS 的简单SOA 架构(直接通过jquery 调用后台的 wcf 服务的架构)(第一天)
亲们!还在用传统的三层架构吗?你还在对SOA架构 不了解吗? 那就赶快来学习下一个 比较简单的SOA的架构吧!我会手把手的 教会你们怎么搭建这个 简单的SOA的架构. 其中用的技术点保证 WCF,a ...
- #使用abp框架与vue一步一步写我是月老的小工具(2) 后台搭建初体验
#使用abp框架与vue一步一步写我是月老的小工具(2) 后台搭建初体验 一.续上前言 关于这个小玩意的产品思考,假设我暂时把他叫我是月老热心人 这是一个没有中心的关系链,每个人进入以后都是以自己为中 ...
- YbSoftwareFactory 代码生成插件【二十五】:Razor视图中以全局方式调用后台方法输出页面代码的三种方法
上一篇介绍了 MVC中实现动态自定义路由 的实现,本篇将介绍Razor视图中以全局方式调用后台方法输出页面代码的三种方法. 框架最新的升级实现了一个页面部件功能,其实就是通过后台方法查询数据库内容,把 ...
- C++模板学习:函数模板、结构体模板、类模板
C++模板:函数.结构体.类 模板实现 1.前言:(知道有模板这回事的童鞋请忽视) 普通函数.函数重载.模板函数 认识. //学过c的童鞋们一定都写过函数sum吧,当时是这样写的: int sum(i ...
- thinkjs学习-this.assign传递数据和ajax调用后台接口
在页面加载时,就需要显示在页面上的数据,可以在后台使用this.assign赋值,在前台通过ejs等模板获取:用户点击按钮,或者触发某些事件和后台进行交互时,就需要用到ajax调用后台接口.本文通过一 ...
- 基于layUI调用后台数据实现区域信息级联查询
基于layUI调用后台数据实现区域信息级联查询 1.基本思路 后台提供根据区域编码查询区域列表公共接口 页面初始化调用后台接口加载所有省份 点击省份将省份区域编码传入后台查询该省份下所有地市信息,以此 ...
- SpringBoot&Dubbo&Zookeeper远程调用项目搭建
序言 Dubbo一款分布式服务框架,作为阿里巴巴SOA服务化治理方案的核心框架,通过高性能和透明化的RPC实现服务的远程调用,对服务的负载均衡以及项目的耦合性提供很强的解决方式;具体Dubbo的介绍和 ...
随机推荐
- layoutSubviews的缺省实现是使用约束进行布局
Discussion The default implementation of this method does nothing on iOS 5.1 and earlier. Otherwise, ...
- react navite 学习资料
react 学习资料 https://github.com/crazycodeboy/GitHubPopular crazycodeboy/GitHubPopular https://github.c ...
- WGS84与CGCS2000坐标系
1.WGS84,WGS是世界大地测量系统World Geodetic System的缩写,84是说此坐标系是1984年建立的: 2.自上世纪60年代,美国军方相继推出WGS60.WGS66.WGS ...
- rhce备战笔记
1)配置selinuxvim /etc/slinux/config SELINUX=enforcingsetenforce 1getenforce两台都做 2)配置SSHvim /etc/ssh ...
- learning shell check host dependent pkg
[Purpose] Shell script check host dependent pkg [Eevironment] Ubuntu 16.04 bash env ...
- PHP7新增的主要特性
1.use的用法 <?php // PHP 7 之前版本用法 use some\namespace\ClassA; use some\namespace\ClassB; use some\nam ...
- loj#2255. 「SNOI2017」炸弹 线段树优化建图,拓扑,缩点
loj#2255. 「SNOI2017」炸弹 线段树优化建图,拓扑,缩点 链接 loj 思路 用交错关系建出图来,发现可以直接缩点,拓扑统计. 完了吗,不,瓶颈在于边数太多了,线段树优化建图. 细节 ...
- C# using 的使用方法
1. using :对命名空间的引用 比如 using System; 这样的命名空间,在加入了dll 包之后,也要对包进行引用 对不同命名空间同一方法别名的区分即:定义别名 using Syste ...
- sql server 使用链接服务器远程查询
--PKselect * from sys.key_constraints where object_id = OBJECT_ID('TB')--FKselect * from sys.foreign ...
- MySQL事务隔离级别(二)
搞清楚MySQL事务隔离级别 首先创建一个表 account.创建表的过程略过(由于 InnoDB 存储引擎支持事务,所以将表的存储引擎设置为 InnoDB).表的结构如下: 为了说明问题,我们打开两 ...