tp框架的特性_tp5框架

tp框架的特性_tp5框架一、结构目录》Thinkphp文件夹,是thinkPHP的核心文件,里面的内容是不允许我们修改的》Public是公有的文件夹,里面可以写自己的东西》Application我们建立项目的文件夹(Public和Application里面原有自带的文件可以删除,相当于两个空的文件夹)》tp文件夹中的index.php是所有程序的入口文件》conf->convention.php配置文件包含了所有的配置》thinkphp->conf文件夹->配置文件,几乎包括关于..

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

tp框架的特性_tp5框架

一、结构目录
》Thinkphp文件夹,是thinkPHP的核心文件,里面的内容是不允许我们修改的
》Public是公有的文件夹,里面可以写自己的东西
》Application 我们建立项目的文件夹(Public和Application里面原有自带的文件可以删除,相当于两个空的文件夹)
》tp文件夹中的index.php 是所有程序的入口文件

》conf->convention.php 配置文件 包含了所有的配置

tp框架的特性_tp5框架

》thinkphp->conf 文件夹->配置文件,几乎包括关于thinkPHP的所有配置.但是在这个文件夹中不可以修改。如果想要对thinkPHP进行配置的话,需要先在配置里查一下,配置变量的名字后,然后复制到自己项目的配置文件中,更改变量
》library文件夹->包含了几乎所有的核心类,在library文件夹下的think文件夹里

》 Mode文件夹->模型

》Tpl文件夹->模板

tp框架的特性_tp5框架

tp框架的特性_tp5框架

tp框架的特性_tp5框架

【框架项目部署】

部署一个Shop项目,使用tp框架

步骤:

创建入口文件:

1.在ThinkPHP目录下创建一个入口文件index.php,如果有直接使用就可以

tp框架的特性_tp5框架

 View Code

》define 定义常量

  define(‘APP_DEBUG’,True)   

  true:开启调试模式,建议开发阶段开启,这样在开发时出错才能报出很详细的错误
  false:生产模式,出现错误不会报出详细的错误信息,不利于开发

tp框架的特性_tp5框架

  

2.访问入口文件的同时系统会自动把对应的应用目录文件Shop创建出来

tp框架的特性_tp5框架

(访问入口文件的时候,实际上访问的是默认模块里的默认控制器里的默认方法 )

tp框架的特性_tp5框架

3.打开Home文件夹

tp框架的特性_tp5框架

【MVC模式】 

M:Model 数据模型层,负责数据操作 

V:View 视图层,负责显示视图(就是模板,静态页面)

C:Controller 控制器,实现业务逻辑

tp框架的特性_tp5框架

MVC模式里,我们访问的不是具体的页面,而是访问的控制器,控制器会找到对应的模板进行显示
 

【控制器访问及路由解析】 

通过url地址get参数找到指定的控制器,并进行对应方法调用请求

http://网址/index.php?m=模块名称&c=控制器&a=方法

以上url地址信息代码不够优雅、不安全。 

tp框架url地址可以由以下四种

1.http://网址/index.php?m=XX&c=XX&a=XX   基本get模式 (a代表action操作 )

2.http://网址/index.php/模块/控制器/操作方法  路径模式pathinfo

3.http://网址/模块/控制器/操作方法           rewrite重写模式

4.http://网址/index.php?s=/模块/控制器/方法    兼容模式 

具体url地址模式设置(配置文件ThinkPHP/Conf/convertion.php)

URL_MODEL  =  0/1/2/3  分别代表四种url地址模式

tp框架的特性_tp5框架

config.php是我们当前自己项目的配置文件,我们可以通过修改该文件达到配置变量的目录

这个文件在系统运行过程中会覆盖convertion.php的配置变量

include “convertion.php”;

include “config.php”;  后引入的文件要把先引入的文件配置变量给覆盖掉

我们系统有兼容4中url地址模式的使用

系统有的时候会自动创建url地址,它会根据当前模式进行url地址创建使用

快捷函数 U();  创建url地址

tp框架的特性_tp5框架

thinkphp->conf->convention.php->’URL_MODEL’表示在自动生成路径的时候是按照这种模式生成的,并不是表示访问一定要按照这个方式访问 

通过url地址模式我们学习到了以下内容:

1.我们学习到了配置变量(核心配置变量conversion.php、当前应用配置变量config.php)

2.快捷函数U(“模块/控制器/方法”)  根据参数和url模式 创建对应的url地址

3.把框架的模式调整为开发调试模式

》默认的IndexController.class.php控制器中,控制器就是一个类,继承Controller父类,里面的index方法在控制器里称为操作 

》访问入口文件的时候,实际上访问的是 默认控制器里的默认方法 ( thinkPHP文件夹中的conf->convention.php )

》’URL_MODEL’ = 1 代表的是默认自动生成路径的时候,按照1的路径生成的.在自己的项目中,如果要创建URL的话,是按照1的路径创建

【开发、生产模式】

开发调试模式:系统需要加载大概24个文件  index.php  define(“APP_DEBUG”,true);

生产模式:系统只需要加载很少的大概7个文件  在入口文件

index.php中定义: define(“APP_DEBUG”,false);

节省了许多文件的开发、关闭的系统开销,节省资源

tp框架的特性_tp5框架

如果把入口文件index.php中的开发模式改成生产模式,再访问一遍入口文件index.php 在Shop(项目文件夹)里的Runtime文件夹里会缓存出一个common-runtime.php文件夹,集成了很多文件。如果是生产模式,直接使用这个文件就可以的
 

要在页面显示trace信息,需要在自己的配置文件中:

tp框架的特性_tp5框架

》开发的时候建议开启(在自己的项目配置中)
‘SHOW_PAGE_TRACE’=>TRUE, 写在配置里,右下角出现的标志,点击会显示一些执行的详细信息

》生产模式状态下,会缓存common-runtime.php文件,在自己创建的Shop项目文件夹下->Runtime->common-runtime.php文件(好多文件集成在这个文件里)

【控制器和对应方法创建】

控制器是MVC模式中的核心,tp默认有一个Index控制器:

tp框架的特性_tp5框架

Index控制器里面有一个操作方法:Index

tp框架的特性_tp5框架

我们在访问http://localhost:8080/Thinkphp/index.php入口文件的时候,会默认访问Index控制器下面的Index方法

如果要自己创建一个控制器Login:

1.在\Shop\Home\Controller文件夹下新建一个控制器文件LoginController.class.php

注意:文件命名规则,按照驼峰法命名(创建控制器,控制器的首字母大写 )

tp框架的特性_tp5框架

 

2.打开该文件,在里面造控制器Login类

 

tp框架的特性_tp5框架

3.如果要自定义操作方法,在控制器Login类里面加一个函数Login():

 

tp框架的特性_tp5框架

这样我们就完成了控制器和操作方法的建立,如果要访问我们刚才的Login控制器下的Login方法:

tp框架的特性_tp5框架

4.控制器中如果要调用视图层中的模板:

tp框架的特性_tp5框架

这样再次访问,会发现报错:

tp框架的特性_tp5框架

原因:模板文件没有创建,这时候我们就要去创建模板文件

同一个控制器中可以有多个操作方法,而且每个方法都可以单独访问

》所有控制器的父类Controller 位置:TinkPHP->Library->Think->Controller.class.php 

命名空间 (根据目录建命名空间)

1)tp框架主要有两个根命名空间

  1.ThinkPHP\Library (在其他地方使用的根命名空间)
  2.Home (如果是在模块里使用的根命名空间)

2)命名空间里用的是反斜杠\

3)例:namespace Home\Controller 代表控制器的命名空间

   use Think\Controller (use ThinkPHP\Library\Think\Controller) 代表引用了Think命名空间下的Controller
 

》同一个控制器下可以有多个方法,且每个方法都可以单独访问 

》控制器对应一个模板文件夹,控制器里的每一个方法,对应模板文件夹里的每一个页面。view里的文件夹必须和控制器的名字是一致的,大小写一致、 

》命名空间(相当于一个虚拟的文件夹)

》MVC里有一句话叫做:约定胜于配置

》显示模板的方法在controller父类里面,里面有display方法,调用display方法后,给出模板路径$this->display(); 

》约定:模板的默认名是固定的,根据控制器名在view里建一个模板文件夹,再在文件夹里建一个和操作方法名一致的文件(.html) 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/234818.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 如何用开源组件“攒”出一个大数据建模平台?

    如何用开源组件“攒”出一个大数据建模平台?本文关键字:开源组件、大数据建模、项目架构、技术栈。整个产品的核心功能就是为了实现:数据采集、数据源管理、数据清洗、统计分析、机器学习、数据可视化的完整流程,难点在于形成数据流,流程可控,易被管理。

    2022年4月27日
    66
  • 点集拓扑_拓扑学期末考试试题及答案

    点集拓扑_拓扑学期末考试试题及答案[TOC]拓扑总结拓扑空间一个集合X上一个拓扑是X的子集的一个族$\Im$它满足以下条件:$(i)\varnothing$和$X$都要在$\Im$中$(ii)\Im$的任意子族的元素的并

    2022年8月5日
    10
  • 如果人工智能“圈养”了人类会怎么样?

    如果人工智能“圈养”了人类会怎么样?

    2021年6月8日
    124
  • 进程控制块、进程上下文

    进程控制块、进程上下文一 进程控制块 nbsp nbsp nbsp nbsp nbsp 为了描述和控制进程的运行 系统为每个进程定义了一个数据结构 进程控制块 PCB nbsp 它是进程重要的组成部分 它记录了操作系统所需的 用于描述进程的当前状态和控制进程的全部信息 nbsp 操作系统就是根据进程的 PCB 来感知进程的存在 并依此对进程进行管理和控制 PCB 是进程存在的唯一标识 nbsp nbsp nbsp nbsp nbsp nbsp PCB 主要包括如下 4 方面的信息 nbsp

    2025年12月2日
    5
  • WebApp 开发框架推荐以及优缺点分析

    WebApp 开发框架推荐以及优缺点分析不用盲目的百度和问大神们WebApp开发使用哪个框架最好?等等问题。在此,小编尽量解答各位的WebApp 问题。根据国内js大神以及有过WebApp 开发经验的前辈们分析,小编推荐下面6款常用的WebApp 开发框架。第一款:Sencha TouchSenchaTouch是世界上第一个支持HTML5和CSS3标准的移动应用框架,你可以使用HTML5来编写音频和视频组件,还可以使用…

    2022年6月24日
    32
  • Java cloneable_java浅克隆和深克隆

    Java cloneable_java浅克隆和深克隆先来看看JDK的解释:java.lang.CloneableAclassimplementstheCloneableinterfacetoindicatetothejava.lang.Object.clone()methodthatitislegalforthatmethodtomakeafield-for-fieldcopyofinstances…

    2022年10月9日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号