Lidmašīnas ir CLI lietotne, kas palīdz pārvaldīt jūsu Flight lietojumprogrammas. Tā var ģenerēt kontrolierus, parādīt visus maršrutus un vairāk. Tā balstīta uz lielisko adhocore/php-cli bibliotēku.
Uzklikšķiniet šeit, lai skatītu kodu.
Instalējiet to ar komponistu.
composer require flightphp/runway
Pirmo reizi palaižot Lidmašīnas, tā vadīs jūs caur iestatīšanas procesu un izveidos .runway.json konfigurācijas failu jūsu projekta saknē. Šajā failā būs dažas nepieciešamās konfigurācijas, lai Lidmašīnas pareizi darbotos.
.runway.json
Lidmašīnā ir vairākas komandas, ar kurām varat pārvaldīt savu Flight lietojumprogrammu. Ir divi viegli veidi, kā izmantot Lidmašīnas.
php runway [komanda]
vendor/bin/runway [komanda]
Lai iegūtu papildinformāciju par jebkuru komandu, jūs varat padot --help karodziņa.
--help
php runway routes --help
Šeit ir daži piemēri:
Balstoties uz konfigurāciju jūsu .runway.json failā, noklusējuma atrašanās vieta jums ģenerēs kontrolieri app/controllers/ direktorijā.
app/controllers/
php runway make:controller MyController
Balstoties uz konfigurāciju jūsu .runway.json failā, noklusējuma atrašanās vieta jums ģenerēs kontrolieri app/records/ direktorijā.
app/records/
php runway make:record users
Ja, piemēram, ir users tabula ar sekojošu shēmu: id, name, email, created_at, updated_at, fails līdzīgs sekojošajam tiks izveidots app/records/UserRecord.php failā:
users
id
name
email
created_at
updated_at
app/records/UserRecord.php
<?php declare(strict_types=1); namespace app\records; /** * ActiveRecord klase lietotāju tabulai. * @link https://docs.flightphp.com/awesome-plugins/active-record * * @property int $id * @property string $name * @property string $email * @property string $created_at * @property string $updated_at * // šeit jūs varat pievienot attiecības, kad tās definētas $relations masīvā * @property CompanyRecord $company Attēlots attiecību piemērs */ class UserRecord extends \flight\ActiveRecord { /** * @var array $relations Uzstādiet attiecības modeļim * https://docs.flightphp.com/awesome-plugins/active-record#relationships */ protected array $relations = []; /** * Konstruktors * @param mixed $databaseConnection Datu bāzes savienojums */ public function __construct($databaseConnection) { parent::__construct($databaseConnection, 'users'); } }
Tas parādīs visus maršrutus, kas pašlaik ir reģistrēti ar Flight.
php runway routes
Ja vēlaties skatīt tikai konkrētus maršrutus, jūs varat padot karodziņu, lai filtrētu maršrutus.
# Parādīt tikai GET maršrutus php runway routes --get # Parādīt tikai POST maršrutus php runway routes --post # u.c.
Ja jūs izveidojat paketi Flight, vai vēlaties pievienot savas pielāgotas komandas savā projektā, to varat izdarīt, izveidojot src/commands/, flight/commands/, app/commands/ vai commands/ direktoriju savam projektam/paketei.
src/commands/
flight/commands/
app/commands/
commands/
Lai izveidotu komandu, jums vienkārši jāpaplašina AbstractBaseCommand klase un jāimplementē vismaz __construct metode un execute metode.
AbstractBaseCommand
__construct
execute
<?php declare(strict_types=1); namespace flight\commands; class ExampleCommand extends AbstractBaseCommand { /** * Konstruktors * * @param array<string,mixed> $config JSON konfigurācija no .runway-config.json */ public function __construct(array $config) { parent::__construct('make:example', 'Izveidot piemēru dokumentācijai', $config); $this->argument('<funny-gif>', 'Smaida GIF nosaukums'); } /** * Izpilda funkciju * * @return void */ public function execute(string $controller) { $io = $this->app()->io(); $io->info('Izveido piemēru...'); // Kaut ko dariet šeit $io->ok('Piemērs izveidots!'); } }
Skatiet adhocore/php-cli Dokumentāciju, lai iegūtu vairāk informācijas par to, kā izveidot savas pielāgotas komandas savā Flight lietojumprogrammā!