一般的な PHP フレームワークの比較
1. CI フレームワーク
CI フレームワークはシンプルですPHP MVC 軽量フレームワークは、実行効率が高く、高速かつ簡潔で、コード量が少ないため、中小規模のプロジェクト開発に適しており、大規模プロジェクトにも使用できますが、拡張性はあまり良くありません。
利点: フレームワークは比較的シンプルで、初心者レベルの開発に適しており、学習が簡単で、すぐに開始でき、静的化も簡単で、ドキュメントは比較的詳細です。
デメリット: フレームワークが小さいため、機能が不完全で、例えばmongoDBを使用する場合、インターフェースを自分で実装する必要があり、データベースの動作が安全ではありません十分です (書き込み操作)。大規模プロジェクトに対するサポートが不十分。
開発ワークフロー:
1.index.php は、CodeIgniter の実行に必要な基本リソースを初期化するフロントエンド コントローラーとして機能します。
2. ルーターは HTTP リクエストをチェックして、誰がリクエストを処理するかを決定します。
3. キャッシュ ファイルが存在する場合、通常のシステム実行シーケンスをバイパスし、ブラウザに直接送信されます。
4. セキュリティ。 HTTP リクエストとユーザーが送信したデータは、ApplicationController をロードする前にフィルタリングされます。
5. コントローラーは、モデル、コア ライブラリ、プラグイン、補助関数、および特定のリクエストを処理するために必要なその他のリソースを読み込みます。
6. 最後のビューでは、Web ブラウザーに送信されたコンテンツがレンダリングされます。キャッシュがオンになっている場合は、ビューが最初にキャッシュされるため、今後のリクエストに使用できるようになります。
CI の URL モード:
Ci でサポートされる URL モードのデフォルトは、/ で区切られた pathinfo 形式です。このうち、//localhost/citest/index.php/ は固定であり、エントリファイルを表します 例: //localhost/citest/index.php/hello/index
2. ThinkPHP フレームワーク
TP フレームワークは、オブジェクト指向構造と MVC モードを使用して開発された、高速、互換性、シンプルな軽量の国産 PHP 開発フレームワークです。 Windows や Linux などのサーバーをサポートし、複数のデータベースと MySql や Sqlite などの PDO 拡張機能をサポートします。
これには、基礎となるアーキテクチャ、互換性処理、基本クラス ライブラリ、データベース アクセス層、テンプレート エンジン、キャッシュ メカニズム、プラグイン メカニズム、ロール認証、フォーム処理などの共通コンポーネントが含まれており、次の用途に適しています。クロスバージョン、クロスプラットフォーム、クロスデータベースの移行がより便利になります。中小規模のプロジェクト開発に適しています。
利点: シンプルで使いやすい (モデル、コントローラー、ビューが独自の作業を担当)、XML タグ ライブラリ テクノロジをサポートするコンパイル済みテンプレート エンジンを備えており、2 種類のテンプレート タグ、動的コンパイル、キャッシュ テクノロジ。また、独自のデータ検証と自動入力、MD5 データ暗号化などの機能を備えたカスタム タグ ライブラリもサポートしています。導入は簡単で、必要なエントリ ファイルは 1 つだけなので、すぐに開始できます。
デメリット: テンプレートが比較的固定されているため、アイデアが固まりやすいです。
TP フレームワークで提供される 4 つのルーティング フォーム:
1. ルーティング フォームの取得;
//网址/index.php?m=分组&c=控制器&a=方法(该形式书最底层的传输方式,不安全)。
2. Pathinfo ルーティング フォーム [デフォルトのルーティング フォーム] :
//网址/index.php/分组/控制器/方法
3. ルーティング フォームを書き換えます;
//网址/分组/控制器/方法
4. 互換性のあるルーティング フォーム:
//网址/index.php?s=/分组/控制器/方法
3. Laravel フレームワーク
# Laravel は、シンプルでエレガントな PHP WEB 開発フレームワークです。 PHP の比較的新しい機能とさまざまなデザインパターンが統合されており、学習に適したフレームワークですが、しっかりとした熟練した PHP の基礎が必要です。大規模および中規模のプロジェクトの開発に適しています。利点:
1. Composer のサポート2. フレームワーク構造は比較的明確で、コードのモジュール化 (抽象化されたミドルウェア、タスク、サービスなど) とスケーラビリティを備えたルーティング システムは高速かつ効率的です。3. クロスサイト リクエスト フォージェリの処理をサポートします。フォームから投稿を送信するとき、{{ csrf_field() }}4 に渡す必要があります。Laravel のコミュニティは非常に強力で、豊富な拡張パッケージとツールが備わっています
##5。キャッシュ、認証、タスクの自動化、ハッシュ暗号化、トランザクションなどの機能があります
6. ユニークな env 環境ファイルにより、さまざまなプラットフォームのシステム構成と開発が容易になります
欠点:コンポーネントベースのフレームワークに基づいているため、比較的肥大化します。
Laravel ルーティング方法:1. 基本的なルーティング Route::get('/',function(){ return'HelloWorld';});
2. パラメータを使用したルート Route::get('user/{id}', function($id){ return 'User '.$id;});
3. ルート フィルタリング パラメータ Route ::get('user/{id}/{name}',function($id,$name){ //}) -> where(array('id'=> '[0-9] ', 'name' =>'[a-z] '));
4. サブドメイン名のルーティングなど
5. コントローラー ルーティング (次のスタイルなど)
Route::resource('article','ArticleController'); //restful方式(具体包括get/post等) Route::controller('article','ArticleController'); //restful方式(具体包括get/post等) Route::get('user/login','UserController@login');//非restful方式 get Route::post('user/i','UserController@login');//非restful方式post4. Yii フレームワーク
Yii フレームワークは、大規模な Web アプリケーション開発用のコンポーネントをベースにした高性能 PHP オープン ソース フレームワークで、現在最も効率的な PHP フレームワークの 1 つです。大規模で負荷の高いWebアプリケーション開発に適しています。
利点:1. 純粋な OOP 開発、使いやすいモデル
2. コマンド ライン ツールの開発をサポートし、Web を迅速に作成できますアプリケーション プログラム コード
3. 再利用性と拡張性が高い
4. 迅速な開発、優れたパフォーマンス、豊富な機能
#5. Composer パッケージ管理ツールのサポート #欠点:モデル層の考慮事項文書の中で中国語の文書が少なくなりました。 PHP テクノロジーと OOP プログラミングの熟練度が必要です。
推奨チュートリアル:
ThinkPHP チュートリアル以上がPHP はいくつかのフレームワークを習得する必要があるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。