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的项目目录,并写入了初始的控制器和方法。

自动生成的目录如下:

创建控制器

  1. 控制器存放在Controller文件夹中
  2. 命名规范:控制器的名称+Controller.class.php
  3. 类名和文件的名称要一致
  4. 类名用帕斯卡命名法
  5. 尽量区分大小写,windows不区分大小写,但Linux中区分
  6. ThinkPHP默认的编码是UTF-8的。
  7. 如果地址中没有写控制器,这默认调用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(结构,路由,模板的调用,后台搭建,系统常量)的更多相关文章

  1. tp5.0在控制器中和在模板中调用配置文件中的常量

    框架配置文件config.php中定义 'view_replace_str'  =>  [ '__MEMBER__'=> '/static/member',         '__uplo ...

  2. 0623-TP框架整理一(下载、入口文件、路由、创建控制器、调用模板、系统常量、命名空间)

    一.下载解压后用ThinkPHP(核心)文件 核心文件夹(ThinkPHP)不要改,是作用于全局的,有需要可以改应用目录(Application) 二.创建入口文件: 运行后出现欢迎界面,在说明系统自 ...

  3. 搭建一个BS 的简单SOA 架构(直接通过jquery 调用后台的 wcf 服务的架构)(第一天)

    亲们!还在用传统的三层架构吗?你还在对SOA架构 不了解吗? 那就赶快来学习下一个 比较简单的SOA的架构吧!我会手把手的 教会你们怎么搭建这个 简单的SOA的架构. 其中用的技术点保证  WCF,a ...

  4. #使用abp框架与vue一步一步写我是月老的小工具(2) 后台搭建初体验

    #使用abp框架与vue一步一步写我是月老的小工具(2) 后台搭建初体验 一.续上前言 关于这个小玩意的产品思考,假设我暂时把他叫我是月老热心人 这是一个没有中心的关系链,每个人进入以后都是以自己为中 ...

  5. YbSoftwareFactory 代码生成插件【二十五】:Razor视图中以全局方式调用后台方法输出页面代码的三种方法

    上一篇介绍了 MVC中实现动态自定义路由 的实现,本篇将介绍Razor视图中以全局方式调用后台方法输出页面代码的三种方法. 框架最新的升级实现了一个页面部件功能,其实就是通过后台方法查询数据库内容,把 ...

  6. C++模板学习:函数模板、结构体模板、类模板

    C++模板:函数.结构体.类 模板实现 1.前言:(知道有模板这回事的童鞋请忽视) 普通函数.函数重载.模板函数 认识. //学过c的童鞋们一定都写过函数sum吧,当时是这样写的: int sum(i ...

  7. thinkjs学习-this.assign传递数据和ajax调用后台接口

    在页面加载时,就需要显示在页面上的数据,可以在后台使用this.assign赋值,在前台通过ejs等模板获取:用户点击按钮,或者触发某些事件和后台进行交互时,就需要用到ajax调用后台接口.本文通过一 ...

  8. 基于layUI调用后台数据实现区域信息级联查询

    基于layUI调用后台数据实现区域信息级联查询 1.基本思路 后台提供根据区域编码查询区域列表公共接口 页面初始化调用后台接口加载所有省份 点击省份将省份区域编码传入后台查询该省份下所有地市信息,以此 ...

  9. SpringBoot&Dubbo&Zookeeper远程调用项目搭建

    序言 Dubbo一款分布式服务框架,作为阿里巴巴SOA服务化治理方案的核心框架,通过高性能和透明化的RPC实现服务的远程调用,对服务的负载均衡以及项目的耦合性提供很强的解决方式;具体Dubbo的介绍和 ...

随机推荐

  1. layoutSubviews的缺省实现是使用约束进行布局

    Discussion The default implementation of this method does nothing on iOS 5.1 and earlier. Otherwise, ...

  2. react navite 学习资料

    react 学习资料 https://github.com/crazycodeboy/GitHubPopular crazycodeboy/GitHubPopular https://github.c ...

  3. WGS84与CGCS2000坐标系

    1.WGS84,WGS是世界大地测量系统World Geodetic System的缩写,84是说此坐标系是1984年建立的:   2.自上世纪60年代,美国军方相继推出WGS60.WGS66.WGS ...

  4. rhce备战笔记

    1)配置selinuxvim /etc/slinux/config    SELINUX=enforcingsetenforce 1getenforce两台都做 2)配置SSHvim /etc/ssh ...

  5. learning shell check host dependent pkg

    [Purpose]        Shell script check host dependent pkg   [Eevironment]        Ubuntu 16.04 bash env ...

  6. PHP7新增的主要特性

    1.use的用法 <?php // PHP 7 之前版本用法 use some\namespace\ClassA; use some\namespace\ClassB; use some\nam ...

  7. loj#2255. 「SNOI2017」炸弹 线段树优化建图,拓扑,缩点

    loj#2255. 「SNOI2017」炸弹 线段树优化建图,拓扑,缩点 链接 loj 思路 用交错关系建出图来,发现可以直接缩点,拓扑统计. 完了吗,不,瓶颈在于边数太多了,线段树优化建图. 细节 ...

  8. C# using 的使用方法

    1.  using :对命名空间的引用 比如 using System; 这样的命名空间,在加入了dll 包之后,也要对包进行引用 对不同命名空间同一方法别名的区分即:定义别名 using Syste ...

  9. sql server 使用链接服务器远程查询

    --PKselect * from sys.key_constraints where object_id = OBJECT_ID('TB')--FKselect * from sys.foreign ...

  10. MySQL事务隔离级别(二)

    搞清楚MySQL事务隔离级别 首先创建一个表 account.创建表的过程略过(由于 InnoDB 存储引擎支持事务,所以将表的存储引擎设置为 InnoDB).表的结构如下: 为了说明问题,我们打开两 ...