在composer.json
脚本中回显到控制台的最佳方法是什么?例如,我使用脚本部分创建了一个自定义安装程序,最后我想在控制台中显示一条消息。
此刻,我只是在做这样的回声
"scripts": {
"post-update-cmd": [
"clear",
"echo \"\n\nInstallation Complete\""
]
}
这可行,但是它会在控制台中打印出命令和回显,因此最终看起来像这样。
当作曲家仍然输出脚本中的所有自定义命令时,它会加倍并且看起来很丑!
使用composer scripts将消息回显到控制台的最佳和最干净的方法是什么?
答案 0 :(得分:0)
如果您使用PHP类而不是直接使用shell编写脚本,则可以使用Composers的IO系统写入控制台。
例如,创建一个与此类似的类:
<?php
declare(strict_types=1);
namespace MyApp\Composer;
use Composer\Script\Event;
class ScriptHandler
{
public static function myScript(Event $event): void
{
// Your script here
}
}
Composer\Script\Event
类具有一个名为getIO()
的方法,您可以使用该方法来获取Composer\IO\IOInterface
的实例,然后该实例具有一个方法write
,使您的{{1} }方法看起来像这样:
myScript
最后,要使用此类,只需在您的public static function myScript(Event $event): void
{
$event->getIO()->write('foo'):
}
中引用它即可:
post-update-cmd