Flight PHP Framework

Flightは、PHP向けの高速でシンプル、かつ拡張可能なフレームワークです。迅速に作業を完了したい開発者向けに構築されています。クラシックなWebアプリ、高速なAPI、またはAIコーディングアシスタントとの組み合わせなど、Flightの軽量なフットプリントとシンプルな設計は完璧に適合します。Flightは軽量であることを意図していますが、エンタープライズアーキテクチャ要件にも対応できます。

なぜFlightを選ぶのか?

  • 初心者フレンドリー: Flightは、新しいPHP開発者にとって素晴らしいスタートポイントです。その明確な構造とシンプルな構文により、ボイラープレートに迷うことなくWeb開発を学ぶことができます。
  • プロフェッショナルに愛されている: 経験豊富な開発者は、その柔軟性と制御性を理由にFlightを愛用しています。フレームワークを切り替えることなく、小さなプロトタイプから本格的なアプリまでスケールアップできます。
  • 後方互換性: 私たちはあなたの時間を大切にしています。Flight v3はv2の拡張であり、ほぼすべての同じAPIを保持しています。私たちは革命ではなく進化を信じています。メジャーバージョンが出るたびに「世界を破壊する」ことはありません。
  • 依存関係ゼロ: Flightのコアは完全に依存関係がありません。ポリフィルも外部パッケージも、PSRインターフェースすらありません。これは、より少ない攻撃対象領域、より小さなフットプリント、上流依存関係からの予期しない破壊的変更がないことを意味します。オプションのプラグインには依存関係が含まれる場合がありますが、コアは常に軽量で安全に保たれます。
  • AIフレンドリー: Flightの小さなAPIサーフェスと公式スケルトン(1つのレイアウト、AGENTS.md、コンストラクタインジェクション)により、AIコーディングツールがパターンに従いやすくなっています。すべての行を入力する場合でもエージェントとペアリングする場合でも、同じコードベースを使用します。FlightでのAIの使用について詳しく学ぶ

ビデオ概要

シンプルですよね?

詳細については、ドキュメントでFlightについて学んでください!

クイックスタート

高速なベアボーンインストールを行うには、Composerでインストールします:

composer require flightphp/core

または、リポジトリのzipをこちらからダウンロードすることもできます。次に、以下のような基本的なindex.phpファイルを作成します:

<?php

// composerでインストールした場合
require 'vendor/autoload.php';
// またはzipファイルで手動インストールした場合
// require 'flight/Flight.php';

Flight::route('/', function() {
  echo 'hello world!';
});

Flight::route('/json', function() {
  Flight::json([
    'hello' => 'world'
  ]);
});

Flight::start();

これだけです!基本的なFlightアプリケーションが完成しました。これで、php -S localhost:8000でこのファイルを実行し、ブラウザでhttp://localhost:8000にアクセスして出力を確認できます。

このような短いFlight::の例は、学習やマイクロアプリに最適です。人間とAIツールが共有する完全なプロジェクトレイアウトについては、以下のスケルトンを使用してください。

スケルトン/ボイラープレートアプリ

新しいFlightプロジェクトを開始するための公式スターターがあります。構造、設定、Composerスクリプト、AIフレンドリーな指示を最初から設定します。

すぐに使えるプロジェクトについてはflightphp/skeletonを確認するか、インスピレーションを得るためにexamplesページを訪問してください。AIワークフローの詳細が必要ですか?AIと開発者体験を探る

(高レベルで)得られるもの:

  • PascalCaseフォルダーを持つApp\名前空間(app/Controller/app/Middleware/app/Model/、…)—フォルダーの大文字小文字は名前空間と一致する必要があります(Autoloadingを参照)
  • コントローラーをテスト可能に保つためのDice + Engineインジェクション(アプリコードではFlight::よりも$this->appを優先)
  • Twigビュー、SimplePdo + ActiveRecordサンプル、Runway migrate
  • アシスタントとセキュリティポリシーのためのルートAGENTS.md(およびスコープ付きコピー)とSECURITY.md

スケルトンアプリのインストール

簡単です!

# 新しいプロジェクトを作成
composer create-project flightphp/skeleton my-project/
# 新しいプロジェクトディレクトリに入る
cd my-project/
# すぐに開始するためにローカル開発サーバーを起動!
composer start

プロジェクト構造を作成し、config_sample.phpconfig.php(および存在する場合は.env.example.env)をコピーします。これで準備完了です。オプションのサンプルデータ:

php runway migrate
# その後 /posts と /api/posts にアクセス

高パフォーマンス

Flightは、現在存在する最も高速なPHPフレームワークの1つです。その軽量なコアは、オーバーヘッドを減らし、速度を向上させます。伝統的なアプリと現代のAI支援ワークフローの両方に最適です。TechEmpowerで、すべてのベンチマークを確認できます。

他の人気のPHPフレームワークとのベンチマークを以下に示します。

Framework Plaintext Reqs/sec JSON Reqs/sec
Flight 190,421 182,491
Yii 145,749 131,434
Fat-Free 139,238 133,952
Slim 89,588 87,348
Phalcon 95,911 87,675
Symfony 65,053 63,237
Lumen 40,572 39,700
Laravel 26,657 26,901
CodeIgniter 20,628 19,901

FlightとAI

コーディングLLMとのFlightの組み合わせに興味がありますか?AGENTS.md、Runway ai:*コマンド、スケルトンレイアウトがアシスタントを正しい軌道に保つ方法を発見してください。

安定性と後方互換性

私たちはあなたの時間を大切にしています。私たちは皆、数年ごとに完全に自己再発明し、開発者に破損したコードと高価な移行を残すフレームワークを見てきました。Flightは違います。Flight v3はv2の拡張として設計されており、皆さんが知り愛用しているAPIが剥奪されていません。実際、ほとんどのv2プロジェクトはv3で変更なしに動作します。

Flightの安定性を保ち、フレームワークの修正ではなく、アプリの構築に集中できるようにすることにコミットしています。スケルトンは新しいプロジェクトに対しては意見を持っている場合がありますが、コアAPIは他のすべてのユーザーにとって馴染み深いままです。

コミュニティ

Matrix Chatで活動しています

Matrix

そしてDiscordでも

貢献

Flightに貢献する方法は2つあります:

  1. コアリポジトリを訪問して、コアフレームワークに貢献する。
  2. ドキュメントの改善を手伝う!このドキュメントウェブサイトはGithubでホストされています。エラーを見つけた場合や改善したいことがある場合は、プルリクエストを送信してください。更新や新しいアイデアを歓迎します。特にAIと新技術に関するものを歓迎します!

要件

FlightにはPHP 7.4以上が必要です。

注意: PHP 7.4がサポートされている理由は、執筆時点(2024年)で、PHP 7.4が一部のLTS Linuxディストリビューションのデフォルトバージョンであるためです。PHP >8への移行を強制すると、それらのユーザーに多くの問題を引き起こすことになります。フレームワークはPHP >8もサポートしています。

ライセンス

FlightはMITライセンスの下でリリースされています。