Composer如何在Symfony项目中管理依赖?(最佳实践)
Symfony 项目里,依赖分两类:运行时必需的(比如 doctrine/orm),和只在开发/测试时需要的(比如 phpunit/phpunit 或 symfony/debug-bundle)。
错放会直接导致生产环境出问题:把调试工具塞进 require,上线后可能暴露敏感信息;反过来,把 symfony/console 放进 require-dev,bin/console 就直接报错。
技术博客
Symfony 项目里,依赖分两类:运行时必需的(比如 doctrine/orm),和只在开发/测试时需要的(比如 phpunit/phpunit 或 symfony/debug-bundle)。
错放会直接导致生产环境出问题:把调试工具塞进 require,上线后可能暴露敏感信息;反过来,把 symfony/console 放进 require-dev,bin/console 就直接报错。
Sublime Text 本身不带 XML 格式化功能,XML Tidy 插件已多年未维护,直接装上大概率报错或根本没反应。
直接加 @alpha 就行,但得确认包本身发布了 alpha 标签,不是所有包都支持。默认只装 stable 级别,alpha 属于 dev 级别,得显式放开策略。
直接运行 composer show vendor/package 会显示该包当前已安装的版本、依赖关系和描述,但**不会列出所有可用版本**。想看全部可选版本,必须加 -a(all)参数,否则只返回本地锁文件或已安装版本的快照。
Composer 的脚本事件由 composer.json 里的 "scripts" 字段控制,它是个 JSON 对象,键是事件名(比如 post-install-cmd),值是命令或数组。脚本不会自动启用或禁用——只要定义了,对应事件触发时就会执行;删掉某条就等于禁用它。
Composer 安装或更新时卡在 Downloading… 或报 cURL error 28: Operation timed out,基本就是默认超时太短 + 网络不稳定,不是配置错,也不是源失效——改两个参数就能过。
直接跳过平台检查,用 –ignore-platform-reqs 参数。这不是“绕过问题”,而是告诉 Composer:“我清楚当前 PHP 或扩展版本不匹配 composer.json 里写的 platform 约束,但我要强制继续。”
别指望 Ctrl+Shift+P 搜“convert color”能直接调出原生命令——Sublime Text 本身不带颜色值解析和互转逻辑。所有所谓“一键转换”,都依赖第三方插件,且多数只支持基础场景:比如把 #fff 展开成 #ffffff,或把 rgb(255, 0, 0) 转成 #ff0000,但对 hsl(0, 100%, 50%) 或带 alpha 的 rgba() 支持很弱。
Sublime 默认就支持按回车后新行继承上一行缩进,但前提是 auto_indent 必须为 true。很多人关了这个选项却没察觉,结果每次换行都顶格——不是编辑器坏了,是开关没开。
直接运行 composer show vendor/package 不会输出该包的 autoload 配置——这是常见误解。Composer 的 show 命令只展示包元信息(如版本、描述、依赖),不解析其 composer.json 中的自动加载规则。