使用Composer初始化ThinkPHP 8应用

【图书介绍】《ThinkPHP 8高效构建Web应用》-CSDN博客

《2025新书 ThinkPHP 8高效构建Web应用 编程与应用开发丛书 夏磊 清华大学出版社教材书籍 9787302678236 ThinkPHP 8高效构建Web应用》【摘要 书评 试读】- 京东图书

使用VS Code开发ThinkPHP项目-CSDN博客

Composer是PHP用来管理依赖关系的工具。它使用JSON格式的配置文件来描述项目的依赖关系,然后根据配置文件自动下载并安装所需的依赖。Composer工具的使用可以大大提高PHP项目的开发效率,并确保项目的依赖关系始终保持一致。

Composer的优点

Composer的优点如下:

  • 自动化依赖管理:Composer可以自动下载并安装所需的依赖,从而简化了PHP项目的开发过程。
  • 依赖关系管理:Composer可以根据配置文件自动解决依赖之间的冲突,确保项目的依赖关系始终保持一致。
  • 包管理:Composer可以提供一个统一的包管理平台,方便开发者查找和使用第三方库。

Composer的安装

Composer提供了两种安装方式:全局安装和项目安装。

1. 全局安装

全局安装是将Composer安装到系统环境变量PATH所包含的路径,然后就能够在命令行窗口中直接执行composer命令了。

下面是全局安装Composer的步骤:

1)下载Composer

从Composer的官方网站下载Composer的安装文件。建议使用阿里云的镜像地址https://mirrors.aliyun.com/composer/composer.phar下载。

  • 将Composer安装到系统环境变量PATH所包含的路径下面。
  • 验证Composer安装是否成功。

在命令行窗口中执行composer --version命令,如果能够正确输出Composer版本号,则表示Composer安装成功。

2. 项目安装

项目安装是将Composer安装到项目的特定目录下面,然后只能在该目录中使用composer命令。下载完composer.phar之后复制到项目根目录,然后执行php composer.phar --version命令验证安装结果。

3. 基于项目的依赖管理

Composer是基于项目进行依赖管理的,这意味着每个项目都有自己的依赖关系,Composer不会将依赖安装到全局的PHP目录下。

Composer使用JSON格式的配置文件来描述项目的依赖关系。该配置文件通常被命名为composer.json,位于项目的根目录下。

composer.json文件的结构如下:

{
  "name": "my-project",
  "description": "My first PHP project",
  "require": {
    "monolog/monolog": "^2.2"
  }
}

在上述配置文件中,"require"键指定了项目所依赖的包。"monolog/monolog"包是PHP的一个日志库,版本号为2.2或更高。

要安装项目的依赖,可以使用composer install命令。该命令会根据composer.json文件中的配置自动下载并安装所需的依赖。

初始化ThinkPHP 8应用

要想初始化一个ThinkPHP 8应用到chapter04目录(即创建一个名字为chapter04的项目),可以执行下列命令:

composer create-project topthink/think chapter04

ThinkPHP 8支持一个项目下部署多个应用的多应用模式,也支持经典的一个项目部署一个应用的单应用模式,就笔者多年工作经验来看,一般使用单应用模式足以满足大多数的场景。如果有多应用的需求,可以考虑分开多个单应用项目,因此本书主要介绍单应用模式的开发。

1. 目录结构

执行成功后会创建如下的项目结构:

├── .example.env							示例环境变量配置
├── .gitignore							Git忽略文件配置
├── .travis.yml							travis流水线配置
├── LICENSE.txt							项目协议
├── README.md								项目自述文件
├── app									应用源代码
├── composer.json							Composer依赖声明
├── composer.lock							Composer版本锁
├── config								项目配置
├── extend								扩展类库目录
├── public								Web根目录
├── route									路由定义
├── runtime								应用的运行时目录(可写)
├── think									命令行入口文件
├── vendor								依赖包
└── view		
2. 运行项目

默认情况下,应用会自带一个.example.env文件,需要重命名为.env才能生效。该文件是为了解决多环境部署问题而产生的,不能加入版本控制系统。

假如我们有开发环境、测试环境、生产环境,那么我们需要准备3份.env文件。

下面是笔者本地开发环境使用的.env配置:

【示例4-1】

APP_DEBUG = true # 开启框架调试模式

DB_TYPE = mysql
DB_HOST = 127.0.0.1
DB_NAME = test
DB_USER = root
DB_PASS = 111111
DB_PORT = 3306
DB_CHARSET = utf8mb4

DEFAULT_LANG = zh-cn

执行以下命令运行PHP自带的Web服务器:

php think run

在浏览器中输入http://localhost:8000/即可看到框架自带的ThinkPHP官网。

相关推荐
不是二师兄的八戒3 小时前
PHP `foreach` 引用变量导致的问题及其解决方案
开发语言·php
网络安全Ash7 小时前
网络安全——Span 安全监控
安全·web安全·php
不是二师兄的八戒9 小时前
PHP 中 `foreach` 循环结合引用使用时可能出现的问题
php
doubt。9 小时前
5.【BUUCTF】[BJDCTF2020]Easy MD5及知识点
网络·安全·web安全·网络安全·php·代码复审
重庆森林不在重庆12 小时前
upload-labs通关
网络·web安全·网络安全·php
doubt。16 小时前
5.攻防世界simple_php
网络·安全·web安全·网络安全·php·代码复审
aaaweiaaaaaa1 天前
网安学习xss和php反序列后的心得
sql·学习·web安全·网络安全·php·xss
zgscwxd1 天前
解析PHP文件路径相关常量
php
然然阿然然1 天前
2025.2.1——八、Web_php_wrong_nginx_config
网络·学习·安全·网络安全·php
小彭爱学习1 天前
PHP安全防护:深度解析htmlspecialchars绕过与防御策略
开发语言·安全·php