Skip to content

extra tools

Inhere edited this page Jan 15, 2019 · 2 revisions

扩展工具

打包Phar

内置Phar工具类,可以方便的将应用打包成phar文件,便于分发和使用

  • 支持配置文件和目录筛选,可以自定义要打包的目录,文件等。
  • 更多可配置项请查看项目下的 phar.buil.inc 配置文件

将内置的 PharController::class 注册添加到你的cli应用即可以使用了。

use Inhere\Console\BuiltIn\PharController;

// ...

$app->addController(PharController::class);

运行示例中的命令 php examples/app phar:pack, 会将此console库打包成一个app.phar

命令行文件下载

内置命令行文件下载工具类,带有进度条显示功能。

此功能有我的另一个工具包 toolkit/cli 提供

use Toolkit\Cli\Download;

$url  = 'http://no2.php.net/distributions/php-7.2.5.tar.bz2';
$down = Download::file($url, '');

// $down->setShowType('bar');
$down->start();

进度条显示效果:

Download: http://no2.php.net/distributions/php-7.2.5.tar.bz2
Save As: /path/to/php-7.2.5.tar.bz2

Connected...
Mime-type: text/html; charset=utf-8
Being redirected to: http://no2.php.net/distributions/php-7.2.5.tar.bz2
Connected...
FileSize: 14280 kb
Mime-type: application/octet-stream
[========================================>                                                           ] 40% (3076/7590 kb)

文本进度显示效果:

Download: http://no2.php.net/distributions/php-7.2.5.tar.bz2
Save As: /path/to/php-7.2.5.tar.bz2

Connected ...
Got the file size: 14280 kb
Found the mime-type: application/octet-stream
Made some progress, downloaded 641 kb so far

命令行PHP代码高亮

内置一个命令行PHP代码高亮工具类,可以方便的在命令行输出里渲染展示php源码。

此功能有我的另一个工具包 toolkit/cli 提供

use Toolkit\Cli\Highlighter;

// this is an comment
$rendered = Highlighter::create()->highlight(file_get_contents(__FILE__));

\Toolkit\Cli\Cli::write($rendered);

code colors