treffynnon / lazyshell
此包已被弃用,不再维护。未建议替代包。
以懒方式从PHP运行shell命令
v1.0.0
2016-03-16 23:25 UTC
Requires
- php: >5.6
- treffynnon/cmdwrap: ^1.0
Requires (Dev)
- phpunit/phpunit: ^5.2
- sebastian/phpcpd: ^2.0
- squizlabs/php_codesniffer: ^2.5
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。