Document
首页 ThinkPHP-5教程

ThinkPHP-5教程

江小白 2017-05-02 0 1157


相关链接:

https://www.kancloud.cn/manual/thinkphp5/118003


环境准备

必备环境

 


  1. 上面的环境扩展信息必须在php.ini进行开启,同时还需要将php.exe加入到环境变量中(TP5里面也提供了类似laravel里面的artisan命令行功能,所以也要把php.exe加入到环境变量)


 


  1. 建议使用PHPstudy集成开发环境

 



  1. 常见php.ini的扩展的开启同时还要开启Apache里面的某些扩展

 



  1. Apacherewrite模块的开启(到时候TP里面要做为入库文件的隐藏)

 



composer安装

官网:http://www.phpcomposer.com/

相关文档:https://www.kancloud.cn/thinkphp/composer/35668

资源包:https://packagist.org/

无网安装composer软件

 


由于上面的exe安装过程中需要联网进行操作,并且服务器在国外,一般安装不成功,上面的方式不可取。换为下面的方式进行操作。



  1. 下载对应的composer.phar文件

下载地址:https://getcomposer.org/download/

 



  1. 下载一个window的命令行加强工具(cmder),该工具比本身的DOS要强很多倍,并且可以自己配置window的下命令。

网站:http://cmder.net/

网站:http://www.cnblogs.com/jadeboy/p/5132423.html

 



  1. 将cmder.zip加压到一个非中文非空格的目录


 


  1. 查找php.exe的绝对路径

 


路径:C:phpStudyphpphp-7.0.12-ntsphp.exe


  1. 设置alias别名,可以使用composer命令

 


设置如下内容

alias composer=C:phpStudyphpphp-7.0.12-ntsphp.exe  C:devcmdercomposer.phar $*


 


  1. 重新打开一个cmder的命令行输入 composer -v

 



安装

composer安装TP5

TP5手册:https://www.kancloud.cn/manual/thinkphp5

本地服务器启动方式:php -S localhost:8000 -t


  1. 使用composer安装

 


> composer create-project topthink/think local.tp5.com  --prefer-dist

安装PHPstudywww目录下

 


安装后

 




  1. 使用composer安装后,我们可以使用PHP内置的web服务器来启动项目

> php -S localhost:8000 -t public

 


访问:

 


注意: PHP内置的web服务器一般也就测试使用,上线肯定不用。

-S 代表是监听的IP的地址和端口

-t  代表是网站的根目录


源码包安装TP5

  1. 加压tp5的源码包到虚拟主机目录

 



2. 配置虚拟主机


 


  1. 修改hosts文件


 


  1. 修改vhost文件,同时修改AllowOverride All配置,稍后伪静态隐藏入口文件需要开启该配置项

 



5. 域名访问效果

 






基础

需要注意: 在新版的TP5里面的,目录的规划和文件的命名有很大的差别(和之前相比)

开发规范

 



主要的变化如下:

  1. 除了类文件的名称需要大写之外,其他的所有的文件和文件夹都使用小写命名。

 


还要类文件,也不需要在使用类后缀(以前写一个控制器 UserController.class.php 现在直接这样写User.php即可)


  1. 函数都建议使用下划线的命名方式(get_user_info_by_id)类都是大驼峰的方式,类里面的方法都使用小驼峰


  1. 还有配置项都是用小写(以前使用的是大写)



目录规范

在新版的TP5里面的目录变化也是很大的,需要注意。


相关文档:https://www.kancloud.cn/manual/thinkphp5/118008


整体分析

 



application目录分析

 


index模块

 


public目录

 


Tp官方的源码目录

 


 




Vendor目录

 




入口文件

注意:在Tp5里面的入库文件和Tp3.2是不一样的,需要注意,是在public目录下

 



控制器

系统默认控制器

1. tp默认控制器文件位置

 


注意:上面是TP默认的控制器的文件的目录,并该控制器文件首字母大写,同时没有类后缀。(以前:UserController.class.php)


2. 如何在浏览器访问该控制器下的方法?

答:域名/index.php/index模块/index控制器/lst方法,这里TP5使用的phpinfo的模式进行URL的调度。


 


3. 效果


 



自定义控制器编写

1. index模块的controller控制器文件夹下编写一个自己的Goods.php控制器文件

 



2. URL访问

 


注意:如果我们的控制器文件使用的大驼峰方式命名,需要使用下划线方式访问

1. 定义一个以大驼峰方式命名的类文件

 



2. URL访问的时候,直接输入大驼峰方式访问,则报错

 



3. 解决:使用下划线方式访问

 


调试模式开启

1. 修改application/config.php配置文件,将如下的信息更改为true


 


  1. 开启调试模式后,报错更友好

 



视图

注意:在Tp5里面可以使用两种方式来载入视图

方式一:

语法:return view('视图名称', '关联数组,传递给视图的数据')

控制器代码:

 


视图代码:

 



方式二:

语法:return $this->fetch('视图名称', [关联数组,传递给视图数据]),但需要继承 thinkController控制器

控制器代码:

 


视图代码:

 




URL和路由

URL访问

 



注意1:在TP5里面,当使用URL进行访问的时候,地址栏目的控制器的名称无论是大小还是小写,都会被统一的转换为小写。



注意2:如果控制器文件的使用UserInfo形如这样的命名,需要使用下划线访问。如果不希望转换,同时,我们自己写的控制器的访问也不希望转换为小写,可以配置 url_convert = false 即可。

 


以后访问大驼峰的方式,则不会报错。

 


GET参数处理

URL访问

 


代码

 



隐藏入口文件

 


  1. 需要开启ApacheRewrite模块

 


  1. 开启虚拟主机的AllowOverride All

 


  1. 在网站根目录添加.htaccess文件

 


内容参考:

 



访问效果:

 


注意:通过上面的操作,我们可以非常方便的隐藏入口文件,但是URL地址还是很长,是否可以进一步的优化,便于SEO。可以使用TP5里面的路由进行完成。



路由定义

注意1: Tp5里面,路由并不是必须的,不使用路由的情况下,照样可以使用pathinfo的方式进行访问。

例如:域名/[index.php入口文件]/index模块名称/index控制器名称/lst方法名称/get参数


注意2也可以开始Tp5的路由和pathinfo同时一起使用。修改配置文件进行开启

 



注意3路由文件位置:application/route.php文件


案例一最简单的路由

  1. 在application/route.php文件定义规则

 



  1. 定义处理路由请求的控制器和方法

 



3. 效果

 


对于上面的操作,我们发现goods后面的数字一般代表是某件商品的主键ID,一般这个不是写死。如果写死了,访问其他的商品信息,则立马报错(例如范围的是15


 


案例二-路由参数

1. 定义路由参数是可以变的

 



  1. 在控制器的方法里面获取参数

 


案例三-路由类

除了上面的方式可以定义路由外,还有其他的方式定义路由,使用系统自带的Route路由类

1. 路由定义

 



  1. 控制器方法定义

 


效果

 


案例四-闭包处理

对于上面的这种路由类的定义,我们还可以使用闭包函数进行响应。

1. 定义路由规则

 



  1. 创建视图文件(public/view下)

 


打赏作者
打赏作者 打赏作者
免责声明:本文仅代表作者个人观点,与本网站无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
作者: 2017-05-02 14:14:32

发表评论

看不清?点击更换

评论列表: