composer在thinkphp中怎么用_composer thinkphp依赖管理教程【速学】

Composer 不是 ThinkPHP 的插件,它是 PHP 项目的通用依赖管理工具;ThinkPHP 本身就是一个用 Composer 安装和组织的包。

怎么初始化一个 ThinkPHP 项目(用 Composer)

别去官网下 ZIP 包,直接用 composer create-project 拉官方骨架。新版(6.x/7.x)不支持手动复制 vendor,必须走 Composer 流程。

运行 composer create-project topthink/think myapp,myapp 是你的项目目录名如果提示找不到包,先确认是否用了国内镜像:执行 composer config -g repo.packagist https://packagist.phpcomposer.com(或换成 https://mirrors.aliyun.com/composer/)生成后,think 命令行脚本在项目根目录,不是全局命令——别输 think run 前忘了 php think

怎么添加第三方扩展包(比如 think-swoole)

ThinkPHP 6/7 的扩展基本都是独立 Composer 包,不是“下载放进 extend 目录”那种老方式。

执行 composer require topthink/think-swoole,安装后自动注册服务提供者(前提是包遵循 PSR-4 和 ThinkPHP 的 think-service 规范)某些包需要手动配置,比如 think-swoole 要改 config/swoole.php,但配置文件本身是 Composer 安装后自动生成的,别自己新建别用 composer install 替代 require:前者只读 composer.lock,不会更新 composer.json,加包后没写进 JSON 就等于没加

为什么 composer update 后项目崩了

ThinkPHP 对主版本升级极其敏感,update 默认会升到最新兼容版,但 6.0.x 和 6.1.x 的中间件、事件机制有破坏性变更。

立即学习“PHP免费学习笔记(深入)”;

日常开发禁用 composer update,只用 composer update topthink/framework 明确指定升级范围看 composer.json 里 topthink/framework 的版本约束:用 "^6.0.0" 比 "6.*" 更安全,后者可能跨小版本引入不兼容改动升级前务必检查 CHANGELOG.md(在框架 GitHub 仓库的 Releases 页面),重点关注 BC Breaks 标签项

vendor 目录能不能删、能不能挪、能不能 git 提交

不能删,不能挪,绝对不要 git 提交。

vendor/ 是 Composer 运行时生成的,内容由 composer.lock 精确锁定,删了就跑不起来别改 composer.json 里的 vendor-dir:ThinkPHP 的自动加载器(think\initializer\Loader)硬编码读取 vendor/autoload.php,挪了就报 Class not found.gitignore 必须包含 /vendor 和 /runtime,否则团队协作时别人 git pull 后直接无法启动

最常被忽略的是 composer.lock 文件——它比 composer.json 还重要。换机器部署时,只要 composer install(不是 require 或 update),就能还原一模一样的依赖树。手抖删了 lock 文件,就等于放弃了可重复部署的底线。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。