TP框架基础知识

TP框架 3,2,3版本
3.2.3与5.0差别比较大 5.0自由性更高,但麻烦

功能:使前段,数据库,逻辑分离,操作更具分工性;

目的:让程序开发起来更加方便,结构打乱,开发工具;

A:原理与结构 BCDE:内容与内容使用
*****************************************************************************
O.原则项:

TP框架遵循的原则:
1.约定 2.胜余 3.配置;
控制器命名规则:驼峰命名法; ==>
控制器名称+Controller;

类名要与文件名相同
*****************************************************************************

##############################################################################
A.目录及文件 ->组成结构:

一.原始文件夹:
1.Application =>(本存,自建类) 可操作:应用程序文件夹
A:Common 应用程序的共同 =>函数,配置等
B:Home 模块文件夹 =>b1:MVC模式;(@核心) b2:函数,配置类;
C:Runtime 运行时产生的文件 =>缓存等;

2.Public =>(本存) 外界可访问:函数方法文件夹

3.ThinkPHP =>(本存) 本存类:TP框架各程序组成->核心文件夹
A:library 核心类:常用Think =>如:父类控制器的方法在此

一.@@@非原始文件夹:@@@(可自建)@@@
可自建:应用程序文件夹=>自建模块(Home)=>自建控制器(方法:类)

二.原始文件:
1.index.php =>入口文件(功能的集合和开始 文件)=>访问的开始文件
文件内容:
A:检测PHP检测,
B:调试模式:开发用,
C:定义应用目录,(也可以自定义)
D:引入thinkphp入口文件;

##############################################################################
B.模块配置项:

模块(home)文件夹下的 config配置 ==>
自己程序需要的配置;
主要配置=>
1.应用配置
2.默认设定
3.数据库设置.....开发时:关闭sql日志
4.模板设置
5.URL设置:针对生成 而不是访问

没有出现的配置=>
'SHOW_PAGE_TRACE=>TRUE' 开启trace信息
##############################################################################

C.MVC与访问:(模块中内容)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
TP框架的核心(在模块中)=>MVC模式=====>
1.Mode数据库层 2.View模板层 3.Contron控制层->操作方法(逻辑层)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

TP功能实现的理论流程==>访问操作方式的{方法},而不是访问页面;

|访问:C层.操作方法|---->|M层|--(返回)-->|C层|---->|V层|

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@@访问操作:@@@@调用的是方法,而不是页面@@@@
路径方式1:入口文件的路径文件名/模块名称/控制器名称/哪个方法
get方式2: get方法:入口文件?m=home&c=index&a=index
方式3:重写模式:不用写入口文件;
方式4:结合路径+get方式:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
##############################################################################

D.控制器文件(实现:通过调用方法,来显示模板):
一个控制器(存在一个类的方法)--控制-->一个模板网页
内容=>
加2行代码:
namespace HomeController;
use ThinkController;
访问的方法:(通过对象来调用$this)
class MainController extends Controller
{
public function test()
{
$this->assign()
$this->display() !!不用写参数(模板文件),(因方法名与模板名相同)
$this->show() !!TP语法写法
}
}
##############################################################################

E模板层:(模板文件夹结构 与 控制器结构相同:控制器名包含模板=控制器包含方法)

1模板文件夹,2模板文件 的建立,对应原因==>
1.一个控制器,控制一个模板(因方法名可能相同,因此需要{模板文件夹}区分)
2.类方法名,生成的对象,是对应 模板文件名

1模板文件夹名,2模板文件名 的命名规则==>
1模板文件夹命名规则:与{控制器}名相同;
2模板文件名命名规则:与{类方法}名相同;

##############################################################################

原文地址:https://www.cnblogs.com/yuyu99/p/6805236.html