treffynnon/lazyshell

此包已被弃用,不再维护。未建议替代包。

以懒方式从PHP运行shell命令

v1.0.0 2016-03-16 23:25 UTC

This package is auto-updated.

Last update: 2022-07-18 23:57:07 UTC


README

从PHP以懒方式运行shell命令 - 对于从REPL使用等场景非常有用。它使用我的CmdWrap库来提供命令构建和进程运行。

安装

composer require treffynnon/lazyshell

示例

Sh::date("'+%Y-%m-%d'"); // date '+%Y-%m-%d'
$listing = Sh::ls('-lkha'); // ls -lkha

您还可以通过传递lambda或闭包来修改输出。

Sh::date("'+%Y-%m-%d'", function ($line) {
    return str_replace(date('Y'), '', $line);
})

该函数将针对命令的每一行输出进行调用。

安全性

请注意,默认情况下,参数将以原始形式传递,因此您需要在传递给LazyShell之前对其进行清理。如果您需要转义,则可以传递CmdWrap类型之一。尽管如此,我仍不允许直接将用户提供的变量放入命令中。

Sh::date(new Parameter('+%Y-%m-%d')); // date '+%Y-%m-%d'

测试

使用phpunit进行集成测试,代码还使用php -l,phpcs和phpcpd进行了代码审查。要运行测试,可以使用以下composer命令

composer test

许可证

BSD 2条款许可证 - 请参阅LICENCE.md。