いくつかのオープンソース コミュニティは、PHP ベースのアプリケーションを開発するためのインライン機能を提供する PHP フレームワークを提供しています。フレームワークは必須のコンポーネントではないため、開発者はフレームワークを使用することもできます。ただし、フレームワークがなければ、PHP を開発する標準的なアプローチには、ソフトウェアの機能、機能、セキュリティ機能を管理するためのオーバーヘッドが多く含まれ、より多くの開発者リソースが必要となり、開発コストが増加します。広く使用されている PHP フレームワークには、Laravel、CodeIgniter、Symfony、CakePHP、FuelPHP、Phalcon、Slim、Zend Framework などがあります。さらに、PHP フレームワークは、アプリケーション アーキテクチャに含める必要がある PHP アプリケーションの開発プロセスの合理化に役立ついくつかの貴重な機能を提供します。
PHP フレームワーク (機能) のトップリスト
以下は、人気とアプリケーション開発を容易にする能力に基づいた、最適な PHP フレームワークのリストです。
広告
このカテゴリーの人気コース
PHP 開発者 - 専門分野 | 8コースシリーズ | 3 つの模擬テスト
無料ソフトウェア開発コースを始めましょう
Web 開発、プログラミング言語、ソフトウェア テスト、その他
1.ララベル
これは、モデル ビュー コントローラー ベースのアーキテクチャに従ったオープンソース フレームワークです。
それによって提供されるさまざまな機能は次のとおりです:
- コンポーザーは Laravel 4 の登場以来利用可能であり、フレームワークに依存しない依存関係マネージャーとして機能します。
- 雄弁な ORM、つまりアクティブなレコード パターンの実装。
- クエリ ビルダーは一連のクラスを提供します。
- Laravel は非常にクリーンで読みやすいコードを実現し、開発者の作業を容易にします。
- Laravel は、パスワード ハッシュ、暗号化、電子メール検証、API 認証を組み込んだ、堅牢な Web アプリケーション セキュリティを提供します。
- Laravel は、ルートディレクトリ内のすべてのルートを定義することで保護された安全なルーティングを保証し、フレームワークはこれらのファイルを自動的にダウンロードします。
- クロスサイト偽造を防ぐために、システムは URL に CSRF トークンを追加します。
- このフレームワークは、フロントエンドでブレード (テンプレート エンジン) テンプレート、ローカリゼーション、JavaScript、CSS スキャフォールディングなどの機能を提供します。
- Redis (キー/値ストア)、ページネーション、移行 (データベース スキーマの共有)、データベース シーディングをサポートします。
Laravel を使用する前のサーバー要件:
Laravel Homestead 仮想マシンを使用することが最良の選択であり、ローカル Laravel 開発環境として使用することを強くお勧めします。
Homestead を使用していない場合は、以下が必要です:
- PHP >= 7.1.3
- OpenSSL PHP 拡張機能
- PDO PHP 拡張機能
- Mbstring PHP 拡張機能
- トークナイザー PHP 拡張機能
- XML PHP 拡張機能
- Ctype PHP 拡張機能
- JSON PHP 拡張機能
- BCMath PHP 拡張機能
Laravel のインストール:
Laravel はコンポーザーを利用して依存関係を管理するため、主な要件はコンポーザーがプリインストールされていることです。次に、以下に示すように、composer を使用して Laravel インストーラーをダウンロードします。
Composer Global には Laravel/インストーラーが必要です。
Composer create-project –prefer-dist Laravel/Laravel ブログ
2.コードイグナイター
CodeIgniter は、オープンソースの開発フレームワークです。
それによって提供される機能は次のとおりです:
- モデルビューコントローラーの厳密な実装は必要ありません。コントローラーは必須ですが、モデルとビューはオプションです。
- リンクの作成を支援する URL ヘルパー、フォーム ヘルパー、テキストの書式設定を行うテキスト ヘルパー、Cookie の設定と読み取りを行う Cookie ヘルパーなどのヘルパー関数があります。
- 新しいライブラリを作成したり、ネイティブ ライブラリを置き換えたり削除したりできます。
- フック機能は、コア ファイルをハッキングすることなく、フレームワークの内部動作を利用して変更する手段を提供します。
- 自動ロード機能により、システムが実行されるたびにライブラリ、ヘルパー、モデルを自動的に初期化できます。
- CodeIgniter はページ キャッシュ機能を提供するため、パフォーマンスが向上します。
- CodeIgniter には、エラーを保存し、メッセージをテキスト ファイルとしてデバッグするエラー ログ クラスが含まれています。
- URI ルーティングが存在します。 URL 文字列はコントローラーに一意にマッピングされます。
- パスワードのハッシュ化は PHP バージョンにあります > 5.5.
- データベース部分では、QueryBuilder、QueryCaching、Transactions などのさまざまな機能が提供されています。
- 環境変数を設定して、開発環境または運用環境のどちらでアプリケーションを実行するかを決定できます。
CodeIgniter をインストールするには?
- CodeIgniter をダウンロードします。
- パッケージを解凍します。
- CodeIgniter のフォルダーとファイルをサーバーにアップロードします。通常、index.php ファイルはルートにあります。
- テキスト エディターで application/config/config.php ファイルを開き、ベース URL を設定します。暗号化またはセッションを使用する場合は、暗号化キーを設定します。
- データベースを使用する場合は、application/config/database.php ファイルをテキスト エディタで開き、データベース設定を行います。
3.シンフォニー
Symfony はオープンソース ソフトウェアです。 symfony コンポーネントは、分離され再利用可能な PHP ライブラリのセットです。堅牢なエンタープライズ アプリケーションを開発することを目的としており、開発者はディレクトリから外部ライブラリに至る構成を完全に制御でき、カスタマイズ可能です。
Symfony には次の機能が組み込まれています。":
- ローカライズされたルーティング (i18n) が提供されます。ルートをローカライズすることで、ロケールごとに一意のパスを提供できるようになります。 symfony ではこれらのルートを重複せずに記述することができ、ワイルドカードもサポートしています。
- Twig テンプレートがあります。これらは単純であり、PHP タグを処理しません。 twig は、自動 HTML エスケープ、手動コンテキスト出力エスケープ、およびいくつかのフィルターを実行できます。
- Twig テンプレート キャッシュは、テンプレートをネイティブ PHP クラスにコンパイルし、キャッシュすることでプロセスを高速化します。
- アセット コンポーネントは、URL の生成と、CSS、JS、画像のバージョン管理のために存在します。
- browserKit コンポーネントは Web ブラウザの動作をシミュレートするためにあり、プログラムでリクエストを行ったり、リンクをクリックしたり、フォームを送信したりすることができます。
- 依存関係注入コンポーネントは、アプリケーション内のオブジェクトの標準化と一元化を可能にする PSR-11 互換のサービス コンテナを実装します。
- DOMCrawler コンポーネントは、HTML および XML ドキュメントの DOM ナビゲーションを容易にするためにあります。
- Dotenv コンポーネントは、環境変数を .env 変数に保存するためにあります。
- イベント ディスパッチャは、コンポーネントがイベント ディスパッチを介して通信し、イベントをリッスンできるようにするために存在します。
- LDAP コンポーネントは、LDAP サーバーと通信するためにすでに存在しています。
- ExpressionLanguage コンポーネントは、式をコンパイルおよび評価できるエンジンを提供します。
- Polyfill/APCu コンポーネントは、レガシー APC 拡張機能のユーザーに apcu_* 関数と ACPUIterator クラスを提供します。
- Serializer コンポーネントは、オブジェクトを JSON、XML、YAML などの形式に変換するためにあります。
インストール手順:
ダウンロードするには次の手順を使用します。システムにはコンポーザーがプリインストールされている必要があります。
作曲家には交響曲/アセットが必要です:
上記の個々のコンポーネントをダウンロードするには、https://symfony.com/components にアクセスしてください
4. CakePHP
CakePHP は、Web アプリケーションの構築をシンプルかつ高速にし、必要なコードを少なくできるオープンソース プラットフォームです。
CakePHP には次の機能が付属しています:
- プロトタイプを迅速に構築するための足場を提供します。
- CakePHP のキャッシュ クラスはキャッシュをサポートし、さまざまなキャッシュ実装と対話するための静的インターフェイスと統一 API を提供します。
- ハッシュ クラスは、適切な配列管理を行う静的ユーティリティを提供するため、コードが最適化されます。
- Inflector クラスは、指定された文字列を操作し、複数形や大文字化などの単語のバリエーションを処理します。
- CakePHP ではロギングが簡単です。 LogTrait は log() 関数を提供します。
- REST を立ち上げて実行する最も速い方法は、config/routes.php にリソース ルートを設定するための数行を追加することです。
- CakePHP の検証パッケージは、任意のデータ配列を簡単に検証できるバリデータを構築する機能を提供します。
- さまざまなプラグインが CakePHP と組み合わせて使用するためにサポートされており、Chronos (DateTime オブジェクトに依存関係のない拡張機能のコレクションを提供します)、DebugKit (デバッグ ツールバーと強化されたデバッグ ツールを備えています)、ElasticSearch (これは、elasticsearch 上に ORM のような抽象化を提供し、ドキュメントのテストとインデックス作成を容易にします)。
- Phinx と CakePHP phinx を使用すると、開発者はデータベースを明確に変更および操作できます。 SQL を手書きする必要はありません。代わりに、phinx は、PHP コードを使用して移行を作成するための堅牢な API を提供します。
- CakePHP をより速く実行するために、Bake コンソールが提供されています。 Bake コンソールでは、モデル、ビュー、ビヘイビア、テスト ケース、フィクスチャ、プラグインを作成できます。
Phinx は次の方法で簡単にインストールできます:
php コンポーザー。 phar には robmorgan/phinx
が必要です
ミドルウェアのサポートがあるため、アプリケーションをリクエスト処理やレスポンス構築の再利用可能で構成可能なレイヤーにラップできます。
インストールと前提条件:
インストールを開始する前に満たす必要がある前提条件を以下に示します。
- HTTP サーバー (Apache、Nginx、または Microsoft IIS)。
- PHP 7.3.
- mbstring PHP 拡張機能
- intl PHP 拡張子 (XAMPP を使用している場合は、intl 拡張子が含まれますが、WAMP を使用している場合は、必ず Php.ini で extension = php_intl.dll のコメントを解除し、コントロール パネルから XAMPP サーバーを再起動してください。デフォルトではこれを有効にするには、フォルダーに移動し、icu*.dll のような名前のファイルをすべてコピーし、これらのファイルを Apache bin ディレクトリに貼り付けます。
- SimpleXML PHP 拡張機能。
- PDO PHP 拡張機能。
指定されたリストにあるデータベースの 1 つをマシンにインストールする必要があります:
- MySQL (v5.5.3 以降)
- MariaDB (v 5.5 以降)
- PostgreSQL
- SQLite3
- Microsoft SQL サーバー (>= バージョン 2008)
5. FuelPHP
FuelPHP は、高速で PHP 5.4 以降のバージョンと互換性のあるオープンソース フレームワークです。
次の機能が含まれています:
- これは、モデル-ビュー-コントローラー (MVC) パターンに限定され、モデル-ビュー-ビューモデル (MVVM) アプローチに従うモデル-ビュー-ビューモデル (MVVM) タイプのフレームワークです。ビュー モデルは、プレゼンテーション モデルの別名です。
- FuelPHP はルーターベースのアプローチをサポートしており、URI を直接記述することができます。
- クロスサイト スクリプティングの偽造を防ぐために CSRF トークンをサポートします。
- 入力フィルタリングとクエリ ビルダーは SQL インジェクションに役立ちます。
- 安全な認証を確保するための認証フレームワークをサポートしています。
- FuelPHP は、開発、テスト支援、デバッグを高速化するために設計された「oil」と呼ばれる CLI を提供します。データベースの移行の実行にも役立ちます。
- 開発者は、コントローラーとモデルに提供される基本クラスを利用することで、すぐにスタートできます。そのような機能には、Controller_Template (コントローラーに単純なページ テンプレート機能を追加)、Controller_Rest (RESTful API 作成の方法)、Controller_Hybrid (2 つの機能を単一のコントローラーに結合)、Model_crud (単一のテーブルで CRUD 操作のすべてのメソッドを提供) があります。
- 軽量 ORM は、データベース データを操作し、CRUD を実行するオブジェクト指向の方法を提供します。 has-many や many-many のような関係があり、関連オブジェクトの保存と削除がカスケードされます。さらに、オブジェクト インスタンスを更新するためにオブザーバーが存在します。
- セキュリティには、Auth フレームワークが組み込まれており、Opauth ライブラリが統合されており、ロールベースのアクセス制御 (RBAC)、パスワードの安全なハッシュ機能、ソーシャル メディア認証のための OAuth 統合など、その他のさまざまな機能が提供されています。
- 単純な PHP からのビューを拡張するためのテンプレート パーサーがあります。そのために多数のライブラリが用意されています。
- 口ひげ
- 小枝
- ハムル
- ジェイド
- 大宇
- スマーティ
- マークダウン
インストール手順:
指定された手順に従ってください:
- $カール https://get.fuelphp.com/oil |し
プロジェクトを作成するには、次の手順に従います:
- $ オイル作成
- $composer create-project fur/fuel –prefer-dist
結論
上記のドキュメントでは、複数のコード開発機能を実行するために複数の PHP フレームワークを引用しました。これらのいずれかを選択する前に、従うべき要件と設計パターンについて話し合うことが重要です。フレームワークには多様性があり、ロギングとメトリクスのトレースを行うためのさまざまなプラグインが提供されていました。マイクロサービス アーキテクチャはモノリシック アプリケーションとは異なるため、Laravel の Lumen というフレームワークは、マイクロサービス開発を検討しているときに非常に高く評価されています。ロギングメカニズム、データベース処理、認証セキュリティ、および実装は、コーディングの前に最も重要な関心事です。フレームワークを選択するときは、アプリケーションが対象とする特定のドメインを考慮する必要があります。これには、銀行や金融サービス、サプライチェーン管理、ライフサイエンス、小売、ソーシャルネットワーキングなどの分野が含まれます。
以上がPHP フレームワークの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。