我正在尝试使用Symfony2控制台库构建CLI工具。我有一些基本的工作,现在我想把它打包成一个phar。我读过几个例子,但我见过的例子非常简单(3个文件,没有名称空间等)。为简单应用程序生成PHAR
在我src/
目录中,我有以下:
以上src/
我有一个console.php
,我执行运行应用程序。我还有一个vendors/
dir,因为我使用composer来安装依赖项。 console.php
很简单:
#!/usr/bin/env php
<?php
set_time_limit(0);
$loader = require 'vendor/autoload.php';
use Symfony\Component\Console\Application;
use Bendihossan\Pinfo\Command\EnvironmentCommand;
use Bendihossan\Pinfo\Command\ExtensionsCommand;
use Bendihossan\Pinfo\Command\RunAllCommand;
$console = new Application();
$console->add(new RunAllCommand());
$console->add(new EnvironmentCommand);
$console->add(new ExtensionsCommand);
$console->run();
从什么(小),我了解构建药业我想我需要包括console.php
作为存根,一切都在src/
其他再加上我在vendors/
所有的依赖。
综观上phpmaster.com示例代码,他们指定的每个文件手动将包含在使用file_get_contents
中药业,但我必须保持我的目录结构,以使用作曲家的自动加载,并保持到PSR-0的目录结构。
是否有一种简单的方法来创建.phar并在其中维护我的目录结构,这样我仍然可以使用composer的自动加载器?
谢谢!看起来完全像我需要的:) – Bendihossan
@Bendihossan我还建议你看看[Box](https://github.com/kherge/box) - 一个专用于构建phars的小工具。它支持我们在Composer编译器中的许多相同的东西,然后支持一些。 – Seldaek