インストール手順
Flightをインストールする前に、いくつかの前提条件があります。具体的には以下が必要です:
- システムにPHPをインストール
- 最良の開発体験のためにComposerをインストール
基本的なインストール
Composerを使用している場合は、次のコマンドを実行できます:
composer require flightphp/coreこれにより、Flightのコアファイルだけがシステムにインストールされます。プロジェクト構造、レイアウト、依存関係、設定、オートローディングなどは自分で定義する必要があります。この方法では、Flight以外の依存関係はインストールされません。
ファイルをダウンロードして、Webディレクトリに直接展開することもできます。
基本的なインストールは、学習、マイクロAPI、コピー&ペーストの実験に最適です。人間とAIコーディングツールが同じ方法で従える完全なアプリレイアウトが必要な場合は、以下の推奨スケルトンを使用してください。
推奨インストール
新しいプロジェクトには、flightphp/skeletonアプリから始めることを強くお勧めします。インストールは簡単です。
composer create-project flightphp/skeleton my-project/
cd my-project/
composer start
# オプションのサンプルDB + 投稿デモ
php runway migrateこのステップにより、プロジェクト構造、Composer PSR-4オートローディング、設定、およびTracy、Tracy Extensions、Runwayなどのツールがセットアップされます。また、ルートのAGENTS.md(およびapp/配下のスコープ付きコピー)が同梱されているため、AIアシスタントはあなたと同じレイアウトを共有できます。AIと開発者体験を参照してください。
スケルトンが提供するもの
project-root/
├── AGENTS.md # AI / エージェントの情報源
├── SECURITY.md # セキュリティの期待値
├── .env.example # シークレット / デプロイオーバーレイ(.envにコピー)
├── public/index.php # Webエントリのみ
├── app/
│ ├── config/ # bootstrap、routes、services、config_sample.php
│ ├── Controller/ # App\Controller\*(パスカルケースのフォルダ!)
│ ├── Middleware/ # App\Middleware\*
│ ├── Model/ # App\Model\*(ActiveRecord)
│ ├── Utils/ # Config、Env、DatabaseFactory
│ ├── commands/ # Runway CLIコマンド
│ ├── views/ # Twigテンプレート(*.twig)
│ ├── cache/
│ └── log/
├── migrations/ # SQLマイグレーション(.sql / .mysql.sql)
└── tests/ # PHPUnit名前空間はフォルダーの大文字小文字に従います。 Composerは"App\\": "app/"をマッピングするため、次のようになります:
| ディスク上のパス | 名前空間 |
|---|---|
app/Controller/HomeController.php |
App\Controller\HomeController |
app/Middleware/… |
App\Middleware\… |
app/Model/… |
App\Model\… |
app/Utils/… |
App\Utils\… |
Linuxでは、app/controller/はapp/Controller/と同じではありません。オートローディングは大文字小文字を区別します。スケルトンのパスカルケースフォルダーに合わせてください。詳細:オートローディング。
スタックのデフォルト(新規プロジェクト): Twigビュー、SimplePdo + ActiveRecord、Engine注入を使用したDice(アプリクラス内でのFlight::の使用は避ける)、php runway migrate後のオプションのSQLite。
create-projectは通常、app/config/config_sample.phpをconfig.phpに、.env.exampleを.envにコピーします(存在する場合)。ルートはapp/config/routes.phpに、サービスとDIはapp/config/services.phpにあります。
ドキュメント ↔ スケルトン: これらのドキュメントはFlightのAPIを教えます(多くの場合、短い
Flight::サンプルを使用)。スケルトンはアプリケーションの形を固定します。app/配下にコードを追加する場合は、スケルトンのツリーに従ってください。メソッド名、オプション、プラグインについてはドキュメントを使用してください。
Webサーバーの設定
PHPビルトイン開発サーバー
これは断然最も簡単な起動方法です。ビルトインサーバーを使用してアプリケーションを実行でき、データベースにSQLiteを使用することもできます(システムにsqlite3がインストールされていれば)。PHPがインストールされていれば、次のコマンドを実行するだけです:
php -S localhost:8000
# またはスケルトンアプリの場合
composer startその後、ブラウザを開いてhttp://localhost:8000にアクセスします。
プロジェクトのドキュメントルートを別のディレクトリにしたい場合(例:プロジェクトが~/myprojectで、ドキュメントルートが~/myproject/public/の場合)、~/myprojectディレクトリにいる状態で次のコマンドを実行できます:
php -S localhost:8000 -t public/
# スケルトンアプリでは、これは既に設定されています
composer startその後、ブラウザを開いてhttp://localhost:8000にアクセスします。
Apache
Apacheがシステムにインストールされていることを確認してください。インストールされていない場合は、お使いのシステムへのApacheのインストール方法をGoogleで検索してください。
Apacheの場合、.htaccessファイルを次のように編集します:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [QSA,L]注: flightをサブディレクトリで使用する必要がある場合は、
RewriteEngine Onの直後にRewriteBase /subdir/の行を追加してください。
注: DBやenvファイルなど、すべてのサーバーファイルを保護したい場合は、
.htaccessファイルに次のように記述します:
RewriteEngine On
RewriteRule ^(.*)$ index.phpNginx
Nginxがシステムにインストールされていることを確認してください。インストールされていない場合は、お使いのシステムへのNginxのインストール方法をGoogleで検索してください。
Nginxの場合、サーバー宣言に次を追加します:
server {
location / {
try_files $uri $uri/ /index.php;
}
}index.phpファイルを作成する
基本的なインストールを行う場合は、開始するためのコードが必要です。
<?php
// Composerを使用している場合は、オートローダーを読み込みます。
require 'vendor/autoload.php';
// Composerを使用しない場合は、フレームワークを直接読み込みます
// require 'flight/Flight.php';
// 次にルートを定義し、リクエストを処理する関数を割り当てます。
Flight::route('/', function () {
echo 'hello world!';
});
// 最後に、フレームワークを起動します。
Flight::start();スケルトンアプリでは、パブリックエントリはアプリを起動するだけです。ルートはapp/config/routes.phpで登録されます(通常は[App\Controller\…::class, 'method']の形式で、Diceが依存関係を注入できるようにします)。サービス、Twig、SimplePdo、コンテナはapp/config/services.phpで配線されます。この構造は、AIツールと人間が毎回同じ場所を編集するように意図されています。
PHPのインストール
お使いのシステムにphpが既にインストールされている場合は、これらの手順をスキップしてダウンロードセクションに進んでください。
macOS
Homebrewを使用したPHPのインストール
-
Homebrewをインストール(まだインストールされていない場合):
- ターミナルを開いて実行:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- ターミナルを開いて実行:
-
PHPをインストール:
- 最新バージョンをインストール:
brew install php - 特定のバージョン(例:PHP 8.1)をインストールする場合:
brew tap shivammathur/php brew install shivammathur/php/php@8.1
- 最新バージョンをインストール:
-
PHPバージョンの切り替え:
- 現在のバージョンのリンクを解除し、希望するバージョンにリンク:
brew unlink php brew link --overwrite --force php@8.1 - インストールされたバージョンを確認:
php -v
- 現在のバージョンのリンクを解除し、希望するバージョンにリンク:
Windows 10/11
PHPの手動インストール
-
PHPをダウンロード:
- PHP for Windowsにアクセスし、最新版または特定のバージョン(例:7.4、8.0)を非スレッドセーフ版のzipファイルとしてダウンロードします。
-
PHPを展開:
- ダウンロードしたzipファイルを
C:\phpに展開します。
- ダウンロードしたzipファイルを
-
PHPをシステムのPATHに追加:
- システムのプロパティ > 環境変数に移動します。
- システム変数の下でPathを見つけ、編集をクリックします。
- パス
C:\php(またはPHPを展開した場所)を追加します。 - OKをクリックしてすべてのウィンドウを閉じます。
-
PHPを設定:
php.ini-developmentをphp.iniにコピーします。php.iniを編集して、必要に応じてPHPを設定します(例:extension_dirの設定、拡張機能の有効化)。
-
PHPのインストールを確認:
- コマンドプロンプトを開いて実行:
php -v
- コマンドプロンプトを開いて実行:
複数バージョンのPHPをインストール
-
各バージョンについて上記の手順を繰り返し、それぞれを別のディレクトリ(例:
C:\php7、C:\php8)に配置します。 -
システムのPATH変数を目的のバージョンのディレクトリに調整して、バージョンを切り替えます。
Ubuntu(20.04、22.04など)
aptを使用したPHPのインストール
-
パッケージリストを更新:
- ターミナルを開いて実行:
sudo apt update
- ターミナルを開いて実行:
-
PHPをインストール:
- 最新のPHPバージョンをインストール:
sudo apt install php - 特定のバージョン(例:PHP 8.1)をインストールする場合:
sudo apt install php8.1
- 最新のPHPバージョンをインストール:
-
追加モジュールをインストール(オプション):
- 例えば、MySQLサポートをインストールする場合:
sudo apt install php8.1-mysql
- 例えば、MySQLサポートをインストールする場合:
-
PHPバージョンの切り替え:
update-alternativesを使用:sudo update-alternatives --set php /usr/bin/php8.1
-
インストールされたバージョンを確認:
- 実行:
php -v
- 実行:
Rocky Linux
yum/dnfを使用したPHPのインストール
-
EPELリポジトリを有効化:
- ターミナルを開いて実行:
sudo dnf install epel-release
- ターミナルを開いて実行:
-
Remiリポジトリをインストール:
- 実行:
sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm sudo dnf module reset php
- 実行:
-
PHPをインストール:
- デフォルトバージョンをインストール:
sudo dnf install php - 特定のバージョン(例:PHP 7.4)をインストールする場合:
sudo dnf module install php:remi-7.4
- デフォルトバージョンをインストール:
-
PHPバージョンの切り替え:
dnfモジュールコマンドを使用:sudo dnf module reset php sudo dnf module enable php:remi-8.0 sudo dnf install php
-
インストールされたバージョンを確認:
- 実行:
php -v
- 実行: