使用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官网。

相关推荐
BingoGo1 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php
JaguarJack1 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php·服务端
BingoGo2 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php
JaguarJack2 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php·服务端
JaguarJack3 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
后端·php·服务端
BingoGo3 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
php
JaguarJack4 天前
告别 Laravel 缓慢的 Blade!Livewire Blaze 来了,为你的 Laravel 性能提速
后端·php·laravel
郑州光合科技余经理5 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
QQ5110082855 天前
python+springboot+django/flask的校园资料分享系统
spring boot·python·django·flask·node.js·php
WeiXin_DZbishe5 天前
基于django在线音乐数据采集的设计与实现-计算机毕设 附源码 22647
javascript·spring boot·mysql·django·node.js·php·html5