Eksperymentuję w tworzeniu narzędzi CLI przy użyciu biblioteki konsoli Symfony2. Mam coś podstawowego, a teraz chcę go spakować jako phara. Czytałem kilka przykładów, ale te, które widziałem, są bardzo proste (3 pliki, bez przestrzeni nazw itp.).Generowanie pliku PHAR dla prostej aplikacji
W moim katalogu src/
mam następujące:
Przede src/
Mam console.php
że mogę wykonać, aby uruchomić aplikację. Posiadam także katalog vendors/
, ponieważ używam programu composer do instalowania zależności. console.php
jest bardzo prosta:
#!/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();
Z tego, co (mały) Rozumiem o budowie Phar Chyba trzeba dołączyć console.php
jako odgałęzienie i wszystkiego innego w src/
powiększonej wszystkich moich uzależnień w vendors/
.
Patrząc na kod przykład na phpmaster.com one określić każdy plik ręcznie, które należy uwzględnić w Phar wykorzystaniem file_get_contents
, ale muszę utrzymać moją strukturę katalogów w celu wykorzystania autoloadery kompozytora i zachować do PSR-0 Katalogu struktury.
Czy istnieje prosty sposób na utworzenie .phar i utrzymanie w nim struktury katalogów, abym mógł nadal korzystać z autoloadera kompozytora?
Dzięki! Wygląda dokładnie tak, jak tego potrzebuję :) – Bendihossan
@ Bendihossan Chciałbym również doradzić ci spojrzenie na [Box] (https://github.com/kherge/box) - małe narzędzie przeznaczone do budowania fars. Obsługuje wiele z tych samych rzeczy, które mamy w kompilatorze Composer, a niektóre z nich. – Seldaek