PHP基础开发

序言:

ThinkPHP是一个免费开源的、快速的、简单的面向对象的轻量级PHP开发框架,主要的新特性有:
1.采用PHP7强类型(严格模式)
2.支持更多的PSR规范
3.多应用支持
4.ORM组件独立
5.改进的中间件机制
6.更强大和易用的查询
7.全新的事件系统
8.支持容器invoke回调
9.模板引擎组件独立
10.内部功能中间件化
11.SESSION机制改进
12.缓存及日志支持多通道
13.引入Filesystem组件
14.对Swoole以及协程支持改进
15.对IDE更加友好
16.统一和精简大量用法

基础

1.安装

ThinkPHP6的环境如下:PHP的版本>=7.1.0
而且从PHP6开始就不能通过Git下载,只能通过Composer方式安装和更新。
如果你的电脑还没安装Composer,如果你是Linux或者是MAC系统的可以运行如下命令:

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

如果你是Windows系统的那么你需要下载和运行Composer-Setup.exe。下载地址,Composer-Setup.exe下载完成之后就可以进行运行了。
PHP基础开发_第1张图片
不需要打勾,直接点NEXT就可以了。
PHP基础开发_第2张图片
选择PHP的安装目录,然后点就NEXT。
PHP基础开发_第3张图片
第一次安装的时候可能会遇到此问题。如果你遇到这个问题,那么首先先back看一看你选择的PHP路径是否正确,在确认路径没有错误的情况下再进行一次安装,如果还是存在这个错误那么我们可以在你安装PHP的文件夹中找到phpini文件。
PHP基础开发_第4张图片
可以看到ini一共有两个文件,这是我们随便进入到一个文件中按住Ctrl+f键调出查找器输入;extension。
PHP基础开发_第5张图片
然后一直点击查找下一个,直到找到;extension=openssl

PHP基础开发_第6张图片
然后把这个最前面的引号去掉。记得只需要修改这两个ini文件中的一个就可以了,如果修改两个那么也会报出重复注入的错误。
修改完成之后我们就可以去进行CA证书的下载,因为SLL连接需要CA的证书,下载完成之后我们在两个ini中找到openssl.cafile。
PHP基础开发_第7张图片
并把之前下载证书所存放的路径输入进去。完成之后重启一下Composer-Setup.exe就可以了。按照之前的步骤安装就可以了,
PHP基础开发_第8张图片
这里也直接NEXT,不用打勾.
PHP基础开发_第9张图片
查看一下PHP安装的路劲是否正确。
PHP基础开发_第10张图片
这个可以不用管,这里主要告诉你:机器上的某些设置可能会导致Composer的稳定性问题。如果遇到问题,请尝试更改以下内容:
低于7.2.23和7.3.10的PHP版本不支持Windows OneDrive文件夹。
升级您的PHP(7.3.1)以在Composer中使用此位置。然后我们点击NEXT。
PHP基础开发_第11张图片
继续NEXT。
PHP基础开发_第12张图片
到这里我们的Composer就安装完成了。
Linux和Mac系统的同志可以输入:

php composer.phar

检测是否安装成功。
Windows的打开cmd输入Composer即可。
PHP基础开发_第13张图片
如果控制台显示出Composer的动画说明安装成功。
然后我们进入到weapp的根目录下,即你的weapp存在哪一个盘它的根目录就是哪一个盘。然后输入:

composer create-project topthink/think tp

这里的tp目录名你可以任意更改,这个目录就是我们后面会经常提到的应用根目录。
PHP基础开发_第14张图片
然后再tp中存在.example.env文件(环境变量示例),你可以直接更名为.env文件并根据你的要求进行修改,该示例文件已经开启调试模式。
PHP基础开发_第15张图片
PHP基础开发_第16张图片
接下来我们就可以进行最后一步了,测试运行。进入命令行下面,首先进入到我们的根目录即tp文件下,执行下面指令:

php think run

PHP基础开发_第17张图片
可以看出cmd告诉我们登陆网址http://127.0.0.1:8000/中查看。
PHP基础开发_第18张图片
那我们的PHP6的安装以及第一次测试就结束了。

2.开发规范

命名规范:请理解并尽量遵循以下命名规范,可以减少在开发过程中出现不必要的错误。
ThinkPHP6.0遵循PSR-2命名规范和PSR-4自动加载规范,并且注意如下规范:
目录和文件
1.目录使用小写+下划线;
2.类库、函数文件统一以.php为后缀;
3.类的文件名均以命名空间定义,并且命名空间的路径和类库文件所在路径一致;
4.类(包含接口和Trait)文件采用驼峰法命名(首字母大写),其它文件采用小写+下划线命名;
5.类名(包括接口和Trait)和文件名保持一致,统一采用驼峰法命名(首字母大写);
函数和类、属性命名
1.类的命名采用驼峰法(首字母大写),例如 User、UserType;
2.函数的命名使用小写字母和下划线(小写字母开头)的方式,例如 get_client_ip;
3.方法的命名使用驼峰法(首字母小写),例如 getUserName;
4.属性的命名使用驼峰法(首字母小写),例如 tableName、instance;
5.特例:以双下划线__打头的函数或方法作为魔术方法,例如 __call 和 __autoload;
常量和配置
1.常量以大写字母和下划线命名,例如 APP_PATH;
2.配置参数以小写字母和下划线命名,例如 url_route_on 和url_convert;
3.环境变量定义使用大写字母和下划线命名,例如APP_DEBUG;
数据表和字段
数据表和字段采用小写加下划线方式命名,并注意字段名不要以下划线开头,例如 think_user 表和 user_name字段,不建议使用驼峰和中文作为数据表及字段命名。
**

3.目录结构**

相对于5.1来说,6.0版本目录结构的主要变化是核心框架纳入vendor目录,然后原来的application目录变成app目录。
6.0支持多应用模式部署,所以实际的目录结构取决于你采用的是单应用还是多应用模式,分别说明如下。
单应用模式
默认安装后的目录结构就是一个单应用模式。

www WEB部署目录(或者子目录)
├─app 应用目录
│ ├─controller 控制器目录
│ ├─model 模型目录
│ ├─ … 更多类库目录
│ │
│ ├─common.php 公共函数文件
│ └─event.php 事件定义文件

├─config 配置目录
│ ├─app.php 应用配置
│ ├─cache.php 缓存配置
│ ├─console.php 控制台配置
│ ├─cookie.php Cookie配置
│ ├─database.php 数据库配置
│ ├─filesystem.php 文件磁盘配置
│ ├─lang.php 多语言配置
│ ├─log.php 日志配置
│ ├─middleware.php 中间件配置
│ ├─route.php URL和路由配置
│ ├─session.php Session配置
│ ├─trace.php Trace配置
│ └─view.php 视图配置

├─view 视图目录
├─route 路由定义目录
│ ├─route.php 路由定义文件
│ └─ …

├─public WEB目录(对外访问目录)
│ ├─index.php 入口文件
│ ├─router.php 快速测试文件
│ └─.htaccess 用于apache的重写

├─extend 扩展类库目录
├─runtime 应用的运行时目录(可写,可定制)
├─vendor Composer类库目录
├─.example.env 环境变量示例文件
├─composer.json composer 定义文件
├─LICENSE.txt 授权说明文件
├─README.md README 文件
├─think 命令行入口文件

多应用模式
如果你需要一个多应用的项目架构,目录结构可以参考下面的结构进行调整(关于配置文件的详细结构参考后面章节)。

www WEB部署目录(或者子目录)
├─app 应用目录
│ ├─app_name 应用目录
│ │ ├─common.php 函数文件
│ │ ├─controller 控制器目录
│ │ ├─model 模型目录
│ │ ├─view 视图目录
│ │ ├─config 配置目录
│ │ ├─route 路由目录
│ │ └─ … 更多类库目录
│ │
│ ├─common.php 公共函数文件
│ └─event.php 事件定义文件

├─config 全局配置目录
│ ├─app.php 应用配置
│ ├─cache.php 缓存配置
│ ├─console.php 控制台配置
│ ├─cookie.php Cookie配置
│ ├─database.php 数据库配置
│ ├─filesystem.php 文件磁盘配置
│ ├─lang.php 多语言配置
│ ├─log.php 日志配置
│ ├─middleware.php 中间件配置
│ ├─route.php URL和路由配置
│ ├─session.php Session配置
│ ├─trace.php Trace配置
│ └─view.php 视图配置

├─public WEB目录(对外访问目录)
│ ├─index.php 入口文件
│ ├─router.php 快速测试文件
│ └─.htaccess 用于apache的重写

├─extend 扩展类库目录
├─runtime 应用的运行时目录(可写,可定制)
├─vendor Composer类库目录
├─.example.env 环境变量示例文件
├─composer.json composer 定义文件
├─LICENSE.txt 授权说明文件
├─README.md README 文件
├─think 命令行入口文件

多应用模式部署后,记得删除app目录下的controller目录(系统根据该目录作为判断是否单应用的依据)。
在实际的部署中,请确保只有public目录可以对外访问。
在mac或者linux环境下面,注意需要设置runtime目录权限为777。
默认应用文件
默认安装后,app目录下会包含下面的文件。

├─app 应用目录
│ │
│ ├─BaseController.php 默认基础控制器类
│ ├─ExceptionHandle.php 应用异常定义文件
│ ├─common.php 全局公共函数文件
│ ├─middleware.php 全局中间件定义文件
│ ├─provider.php 服务提供定义文件
│ ├─Request.php 应用请求对象
│ └─event.php 全局事件定义文件

BaseController.php、Request.php 和ExceptionHandle.php三个文件是系统默认提供的基础文件,位置你可以随意移动,但注意要同步调整类的命名空间。如果你不需要使用Request.php 和ExceptionHandle.php文件,或者要调整类名,记得必须同步调整provider.php文件中的容器对象绑定。

4.调试与配置文件

1.开启调试

  1. 在开发阶段,我们建议开启框架的调试模式;
  2. 调试模式开启后,会牺牲一些执行效率,但大大提高了开发排错的能力;
  3. 当项目部署到生产环境时,再关闭调试模式即可;
  4. 安装好的TP6.0默认并没有开启调试,可以在域名后面胡乱输入字符回车;
  5. 此时,页面只会提示:“页面错误,请稍后再试~”,表示调试未开启;
    PHP基础开发_第19张图片
  6. 通过命令行安装的TP6.0,会在根目录生成一个.example.env文件;
  7. 这个.env文件是环境配置文件,我们只要删除前面的.example.即可生效;
  8. 此时,刷新页面,右下角会出现Trace测试小图标,说明调试开启了;
    PHP基础开发_第20张图片
  9. 查看.env文件,打开调试的环境变量为APP_DEBUG=ture,false关闭;
  10. 那么,开启调试模式有哪些显著的优势呢?
    a. 记录系统运行流程的执行过程。
    b.展示错误和调试信息,并开启日志记录。
    c.模板修改可以及时生效(不会被缓存干扰)。
    d.启动右下角的Trace调试功能,更加强大。
    e.发生异常时,也会显示异常信息。
  11. 当然,还有一种模式,就是关闭调试的时候,也可以显示简要的错误信息。
  12. 首先,关闭调试模式:APP_DEBUG=false;
  13. 然后,根目录下config的app.php最后一样设置为:‘show_error_msg’=>true.
    PHP基础开发_第21张图片
    2.配置信息
    1.配置文件有两种形式,开启调试我们采用的.env文件这是一种,适合本地;
    2.另一种配置文件,在根目录下的config里,有很多类型的配置,适合部署;
    3.官方手册明确表示:.env环境变量用于本地开发测试,部署之后会被忽略;
    4.那么,我们怎么去获取这些配置文件的值呢?

你可能感兴趣的:(PHP基础开发)