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) 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

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