推荐:李炎恢老师的课程
安装Composer
开发我们使用 phpstudy_pro + Visual Studio Code IDE开发环境。windows10系统下。
通过 phpstudy_pro 使用 composer 下载 tp6.0
下载Composer 并按装。
链接:https://pan.baidu.com/s/1g1nTqHYScWv68EKloyYHsQ
提取码:znwl
命令更新:composer selfupdate
下载tp6.0
composer create-project topthink/think
composer create-project topthink/think=6.0.x-dev
PHP新人小白,在参照Symfony中文官网的安装手册安装时,使用
composer create-project symfony/website-skeleton my-project
命令时报错。
[Composer\Downloader\TransportException]
Unable to use a proxy: malformed http_proxy url
解决办法:
执行
set http_proxy=0
目录和文件
- 目录使用小写+下划线;
- 类库、函数文件统一以
.php
为后缀; - 类的文件名均以命名空间定义,并且命名空间的路径和类库文件所在路径一致;
- 类(包含接口和Trait)文件采用驼峰法命名(首字母大写),其它文件采用小写+下划线命名;
- 类名(包括接口和Trait)和文件名保持一致,统一采用驼峰法命名(首字母大写);
函数和类、属性命名
- 类的命名采用驼峰法(首字母大写),例如
User
、UserType
; - 函数的命名使用小写字母和下划线(小写字母开头)的方式,例如
get_client_ip
; - 方法的命名使用驼峰法(首字母小写),例如
getUserName
; - 属性的命名使用驼峰法(首字母小写),例如
tableName
、instance
; - 特例:以双下划线
__
打头的函数或方法作为魔术方法,例如__call
和__autoload
;
常量和配置
- 常量以大写字母和下划线命名,例如
APP_PATH
; - 配置参数以小写字母和下划线命名,例如
url_route_on
和url_convert
; - 环境变量定义使用大写字母和下划线命名,例如
APP_DEBUG
;
数据表和字段
- 数据表和字段采用小写加下划线方式命名,并注意字段名不要以下划线开头,例如
think_user
表和user_name
字段,不建议使用驼峰和中文作为数据表及字段命名。
开启调试模式:
.example.env
APP_DEBUG = true
单应用模式
默认安装后的目录结构就是一个单应用模式
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 命令行入口文件
多应用模式(扩展)
如果你需要一个多应用的项目架构,目录结构可以参考下面的结构进行调整(关于配置文件的详细结构参考后面章节),但首先需要安装ThinkPHP的多应用扩展,具体可以参考多应用模式。
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
文件中的容器对象绑定。
// 加载config/extra/config.php 配置文件 读取到extra
\think\facade\Config::load('extra/config', 'extra');