php 将Symfony控制台组件构建为phar

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 将Symfony控制台组件构建为phar相关的知识,希望对你有一定的参考价值。

#!/usr/bin/php -dphar.readonly=0
<?php

$srcRoot = realpath(__DIR__."/vendor");
$buildRoot = realpath(__DIR__);
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($srcRoot, FilesystemIterator::SKIP_DOTS), RecursiveIteratorIterator::LEAVES_ONLY);

/*
foreach($iterator as $file){
    var_dump($file->getFilename());
}
*/

echo "Build Symfony Console phar\n";

$phar = new Phar($buildRoot.'/console.phar', 0, 'console.phar');
$phar->buildFromIterator($iterator, $srcRoot);
$phar->setStub($phar->createDefaultStub("autoload.php"));

exit("Build complete\n");
{
    "require": {
        "symfony/console": "@stable",
        "symfony/filesystem": "@stable",
        "symfony/finder": "@stable",
        "symfony/process": "@stable"
    },
    "minimum-stability": "dev",
    "config": {
      "preferred-install": "dist"
    },
    "prefer-stable": true,
    "scripts": {
        "post-update-cmd": "php build.php",
        "post-install-cmd": "php build.php"
    }
}
<?php

use Symfony\Component\Console\Output\ConsoleOutput as Output;

require_once(__DIR__.'/console.phar');

$console = new Output();
$console->writeln("<info>Green Text</info>");

以上是关于php 将Symfony控制台组件构建为phar的主要内容,如果未能解决你的问题,请参考以下文章

基于 Symfony 组件封装 HTTP 请求响应类

使用Symfony的Console组件构建命令行程序

我在 OpenEMR 中的第一个 Symfony 2.4 组件控制器

Symfony3 表单组件试图将 null 传递给 PHP 7 中的类型提示方法

Windows 安装 Symfony 2.2 框架 - 安装成功 !!

php 构建Slim框架作为phar