0

0

Composer的scripts-descriptions字段如何增强脚本可读性? (自定义帮助信息)

裘德小鎮的故事

裘德小鎮的故事

发布时间:2026-01-14 18:11:19

|

311人浏览过

|

来源于php中文网

原创

scripts-descriptions 不起作用,因为它是社区约定的注释方式,composer 不解析该字段;唯一官方支持的描述机制是在 scripts 条目中同级配置 description 字符串,仅在 composer run --list 中显示。

composer的scripts-descriptions字段如何增强脚本可读性? (自定义帮助信息)

Composer 的 scripts 本身不支持直接为每个脚本添加描述字段,scripts-descriptions 并非 Composer 原生配置项——它只是社区约定的一种注释方式,靠人工维护,不会被 Composer 解析或使用。

为什么 scripts-descriptions 不起作用?

Composer 只读取 scriptsscripts-dev 下的键值对作为可执行命令,其余字段(包括 scripts-descriptionsextra 中的任意自定义键)均被忽略。运行 composer listcomposer run --list 时,你看到的脚本说明全部来自脚本命令本身的注释(如 PHPDoc 风格)或 description 字段(仅限于某些插件或自定义工具)。

真正生效的脚本描述方式:用 description 键 + composer run --list

从 Composer 2.5 开始,scripts 中的每个条目可选配 description 字段(需为字符串),该字段会被 composer run --list 显示出来,是目前唯一官方支持的内建描述机制。

INFINITE ALBUM
INFINITE ALBUM

面向游戏玩家的生成式AI音乐

下载
  • description 必须与脚本命令同级,且只能是字符串
  • 只在 composer run --list 中显示,composer list 仍不显示(后者只列出内置命令)
  • 不支持多行或 Markdown,纯文本即可
{
    "scripts": {
        "test": {
            "script": "@php vendor/bin/phpunit",
            "description": "Run unit tests with PHPUnit"
        },
        "cs-fix": {
            "script": "@php vendor/bin/php-cs-fixer fix",
            "description": "Auto-fix coding standards violations"
        }
    }
}

兼容旧版 Composer 或需要更丰富帮助时:用 ## 注释 + 自定义命令封装

若项目仍在用 Composer composer list 中也体现说明,可行做法是把脚本逻辑移到独立 PHP 文件中,并用 PHPDoc 注释;再通过 composer run 调用它。此时可配合 composer list 插件(如 hirak/prestissimo 不适用,推荐 roave/composer-dev-dependencies 的辅助能力有限),但最可靠的是自己写一个简易 help 命令:

  • scripts 中加一条 "help:scripts",调用 php scripts/help.php
  • scripts/help.php 手动输出带说明的脚本列表(读取 composer.json 或硬编码
  • 避免依赖外部包,保持最小侵入性
{
    "scripts": {
        "help:scripts": "php scripts/help.php"
    }
}

容易被忽略的关键点

很多人试图在 extra 里塞 scripts-descriptions 并期望 IDE 或 CLI 自动识别——这不会生效。IDE(如 PHPStorm)对 Composer 脚本的提示,依赖的是 scripts 结构 + description 字段(2.5+),不是注释也不是 extra。如果你看到某项目“有描述”,大概率是用了 2.5+ 的 description,或者团队自己维护了一份 README 脚本清单。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
composer是什么插件
composer是什么插件

Composer是一个PHP的依赖管理工具,它可以帮助开发者在PHP项目中管理和安装依赖的库文件。Composer通过一个中央化的存储库来管理所有的依赖库文件,这个存储库包含了各种可用的依赖库的信息和版本信息。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

161

2023.12.25

json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

453

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

546

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

331

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

82

2025.09.10

phpstorm怎么导出项目
phpstorm怎么导出项目

phpstorm提供导出项目功能,步骤如下:打开phpstorm项目转到“项目”菜单选择“导出项目”选择导出格式指定导出位置选择导出范围勾选“包括依赖项”框(可选)单击“导出”完成导出。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

385

2024.04.08

phpStorm怎么运行
phpStorm怎么运行

本专题整合了phpstorm运行教程,阅读专题下面的文章了解更多相关内容。

88

2025.09.18

phpstorm开发环境搭建教程
phpstorm开发环境搭建教程

本专题整合了phpstorm开发环境搭建和运行项目教程,阅读专题下面的文章了解更多详细教程。

78

2025.09.18

JavaScript浏览器渲染机制与前端性能优化实践
JavaScript浏览器渲染机制与前端性能优化实践

本专题围绕 JavaScript 在浏览器中的执行与渲染机制展开,系统讲解 DOM 构建、CSSOM 解析、重排与重绘原理,以及关键渲染路径优化方法。内容涵盖事件循环机制、异步任务调度、资源加载优化、代码拆分与懒加载等性能优化策略。通过真实前端项目案例,帮助开发者理解浏览器底层工作原理,并掌握提升网页加载速度与交互体验的实用技巧。

23

2026.03.06

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 13.1万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 11.3万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 1.0万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号