Laravel は、PHP エコシステム内で現在最も使用されているフレームワークです。しかし、彼を知らない人にとって、彼にはルーメンという、年下ではあるが同様に興味深い兄弟がいることはほとんど知りません。
実際、Lumen は API の作成を目的とした マイクロフレームワーク であり、そのコードベースは兄のものと非常に似ていますが、重要な違いがあります。Lumen はパフォーマンスを向上させるためにいくつかの機能を犠牲にしています。 .
Lumen を使用する際に見逃される機能には次のようなものがあります。
Artisan にいくつかの機能がないことは、アプリケーションのパフォーマンスに直接影響を与えないため、最後の点が私にとって特に注目を集めました。
Artisan について聞いたことがない場合は、これが Laravel または Lumen と対話し、アプリケーションの開発を支援する強力なコマンドライン ユーティリティであることは注目に値します。
これらのリソースが不足すると、開発者の生産性に直接影響します。
Lumen との最初のコンタクトで、次のコマンドを見逃しました:
$ php artisan serve
「serve」コマンドがない場合は、次のコマンドを使用して PHP 独自の組み込みサーバーを使用することもできます。
$ php -S localhost:8000 -t public/
単純そうに見えますが、実際的ではありません。
サーバーをアップロードするたびにこのコマンドを入力しないようにするということを念頭に置いて、「serve」コマンドを Lumen に戻すために必要な調整を作成しました。
一歩ずつ進んでいきましょう。
<?php // File: app/Console/Commands/ServeCommand.php namespace App\Console\Commands; use Illuminate\Console\Command; use Symfony\Component\Console\Input\InputOption; class ServeCommand extends Command { protected $name = 'serve'; protected $description = "Serve the application on the PHP development server"; public function handle(): void { $base = $this->laravel->basePath(); $host = $this->input->getOption('host'); $port = $this->input->getOption('port'); $this->info("Lumen development server started on http://{$host}:{$port}/"); passthru('"' . PHP_BINARY . '"' . " -S {$host}:{$port} -t \"{$base}/public\""); } protected function getOptions(): array { $url = env('APP_URL', ''); $host = parse_url($url, PHP_URL_HOST); $port = parse_url($url, PHP_URL_PORT); // Defaults $host = $host ? $host : 'localhost'; $port = $port ? $port : 8080; return [ ['host', null, InputOption::VALUE_OPTIONAL, 'The host address to serve the application on.', $host], ['port', null, InputOption::VALUE_OPTIONAL, 'The port to serve the application on.', $port], ]; } }
<?php // File: app/Console/Kernel.php namespace App\Console; use Laravel\Lumen\Console\Kernel as ConsoleKernel; class Kernel extends ConsoleKernel { protected $commands = [ // Add Support to Artisan Serve Commands\ServeCommand::class, ]; }
準備完了!!さあ、使ってみましょう。
$ php artisan serve
Lumen development server started on http://localhost:8080/ [Mon Sep 27 19:38:07 2021] PHP 8.1.0RC2 Development Server (http://localhost:8080) started
以上がアーティザン・サーブ・ノー・ルーメンの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。