ThinkPHP框架基础

Posted 翟喵儿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ThinkPHP框架基础相关的知识,希望对你有一定的参考价值。

什么框架:

         一堆代码的集合,里边有变量、函数、类、常量,里边也有许多设计模式MVC、AR数据库、单例等等。

         框架可以节省我们50-60%的工作量,我们全部精力都集中在业务层次。

其他相关框架

  • 1. zendframework   zend php语言公司发布的官方框架,重量级(功能多)
  • 2. yii   美国华人开发的框架,xue qiang, qiang,  重量级框架,纯OOP框架
  • 3. CI  CodeIgniter轻量级框架,开发速度快,部署灵活
  • cakephp外国框架,重量级,速度慢
  • symfony外国重量级框架
  • ThinkPHP轻量级框架,国人框架,入门容易

 

 

【框架项目部署】

步骤:

 

创建入口文件:

  1. 在ThinkPHP目录下创建一个入口文件index.php

 

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

 

  1. 打开Home文件夹

 

 

【MVC模式】

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

V:View 视图层,负责显示视图

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

 

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

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

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

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


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

  1. http://网址/index.php?m=XX&c=XX&a=XX   基本get模式
  2. http://网址/index.php/模块/控制器/操作方法路径模式pathinfo(默认)
  3. http://网址/模块/控制器/操作方法           rewrite重写模式
  4. http://网址/index.php?s=/模块/控制器/方法兼容模式

 

action:操作,放在控制器里面的方法

之前访问的方式:访问的具体页面

MVC访问的方式:访问控制器下的操作(方法),不是一个具体页面

 

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

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

 

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

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

include “convertion.php”;

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

MVC:约定胜于配置

 

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

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

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

 

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

  1. 我们学习到了配置变量(核心配置变量conversion.php、当前应用配置变量config.php)
  2. 快捷函数U(“模块/控制器/方法”)  根据参数和url模式创建对应的url地址
  3. 把框架的模式调整为开发调试模式

【开发、生产模式】

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

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

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

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

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

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

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

 

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

 

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

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

注意:文件命名规则,按照驼峰法命名

IndexController.class.php首字母大写

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

 

 

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

 

 

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

 

 

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

 

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

 

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

【视图模板文件创建】

视图模板文件存放发位置在:

里面没有模板文件

如果我们想要访问Login控制器中的Login方法,首先我们要创建一个Login控制器对应的模板文件夹,该文件夹就对应着Login控制器:

然后在Login文件夹下再创建一个login.html的模板文件来对应Login控制器下的Login方法:

在login.html里面写入要显示的代码:

<body>
<h1>hello login</h1>
</body>

然后再次请求:

 

【url地址大小写设置】

默认是不敏感的:

在config.php里边对url大小写敏感进行设置

然并卵!!!

 

【系统常量信息】

获取系统常量信息:

如果加参数true,会分组显示:

var_dump(get_define_constants(true));

以上是关于ThinkPHP框架基础的主要内容,如果未能解决你的问题,请参考以下文章

ThinkPHP讲解框架基础

ThinkPHP框架基础

Thinkphp框架基础

ThinkPHP

什么是THINKPHP 和 MVC的概念

Thinkphp -- 利用MVC模式完成注册登录功能