Ich experimentiere beim Erstellen von CLI-Tools mit der Symfony2-Konsolenbibliothek. Ich habe etwas Grundfunktionelles und jetzt möchte ich es als Phar verpacken. Ich habe ein paar Beispiele gelesen, aber die, die ich gesehen habe, sind sehr einfach (3 Dateien, keine Namespaces, etc).Erstellen eines PHAR für eine einfache Anwendung
In meinem src/
Verzeichnis habe ich folgendes:
Above src/
ich eine console.php
, die ich ausführen um die Anwendung auszuführen. Ich habe auch eine vendors/
Dir, wie ich Composer verwende, um Abhängigkeiten zu installieren. console.php
ist sehr einfach:
#!/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();
Von dem, was (wenig) Ich verstehe über einen phar bauen Ich glaube, ich brauche console.php
als Stummel und alles andere in src/
enthalten sowie alle meine Abhängigkeiten in vendors/
.
am Beispielcode Blick auf phpmaster.com sie jede Datei angeben manuell im phar aufgenommen werden file_get_contents
, aber ich brauche, um meine Verzeichnisstruktur zu halten, um die Komponisten Autoloader zu verwenden und zu PSR-0 Verzeichnisstruktur zu halten.
Gibt es eine einfache Möglichkeit, ein .phar zu erstellen und meine Verzeichnisstruktur beizubehalten, damit ich den Autoloader von Composer weiterhin verwenden kann?
Danke! Sieht genau so aus, wie ich es brauche :) – Bendihossan
@Bendihossan Ich würde dir auch raten, [Box] (https://github.com/kherge/box) anzuschauen - ein kleines Dienstprogramm, das dem Bau von Phars gewidmet ist. Es unterstützt viele der gleichen Dinge, die wir im Composer Compiler und dann einige haben. – Seldaek