私は日々の仕事で thinkphp フレームワークを使用しています。仕事中に Yii フレームワークと Laravel フレームワークに触れました。PHP のいくつかのフレームワークをよりよく理解するために、ここにまとめました。 . PHP 開発でよく使用される 4 つのフレームワークの違いを比較してみましょう。
1. PHP CI フレームワーク
CI フレームワークは、シンプルで高速な PHP MVC 軽量フレームワークであり、実行効率が高く、高速で、簡潔でコード量が少なく、中小規模のプロジェクト開発に適しており、大規模プロジェクトにも使用できますが、拡張性はあまり良くありません。
おすすめコース : 「CI Framework Video Tutorial」
メリット: フレームワークが比較的シンプルで入門に適している-レベルの開発で、習得が簡単で、すぐに始めることができ、静的にするのも簡単で、ドキュメントは比較的詳細です。
デメリット:フレームワークが小さいため、機能が不完全で、例えばmongoDBを使用する場合、インターフェイスを自分で実装する必要があり、データベースの動作が安全ではありません十分です (書き込み操作)。大規模プロジェクトに対するサポートが不十分。
開発ワークフロー:
1.index.php は、CodeIgniter の実行に必要な基本リソースを初期化するフロントエンド コントローラーとして機能します。
2. ルーターは HTTP リクエストをチェックして、誰がリクエストを処理するかを決定します。
3. キャッシュ ファイルが存在する場合、通常のシステム実行シーケンスをバイパスし、ブラウザに直接送信されます。
4.セキュリティ。 HTTP リクエストとユーザーが送信したデータは、ApplicationController をロードする前にフィルタリングされます。
5. コントローラーは、モデル、コア ライブラリ、プラグイン、補助関数、および特定のリクエストを処理するために必要なその他のリソースを読み込みます。
6. 最後のビュー (View) では、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 拡張機能をサポートします。基盤となるアーキテクチャ、互換性処理、基本クラス ライブラリ、データベース アクセス レイヤー、テンプレート エンジン、キャッシュ メカニズム、プラグイン メカニズム、ロール認証、フォーム処理などの共通コンポーネントが含まれており、バージョン間、クロス間での使用がより便利です。 -プラットフォームおよびクロスデータベース移植。中小規模のプロジェクト開発に適しています。
おすすめコース: 「最新ThinkPHP 5.1ワールドプレミアビデオチュートリアル」
メリット: シンプルで使いやすい(モデル、コントローラー、ビューはそれぞれの作業を担当します)、XML タグ ライブラリ テクノロジーをサポートするコンパイル済みテンプレート エンジンを備え、2 種類のテンプレート タグ、動的コンパイル、キャッシュ テクノロジーをサポートします。また、独自のデータ検証と自動入力、MD5 データ暗号化などの機能を備えたカスタム タグ ライブラリもサポートしています。導入は簡単で、必要なエントリ ファイルは 1 つだけなので、すぐに開始できます。
デメリット: テンプレートが比較的固定されているため、アイデアが固まりやすい。
TP フレームワークで提供されるルーティング形式は 4 つありますが、このうち書き換えルーティング方式は、使用する前に追加の設定変更が必要です。設定方法については、https://www.cnblogs を参照してください。 com/lovele-/p/9256575.html
1. ルーティング フォームを取得;
//网址/index.php?m=分组&c=控制器&a=方法(该形式书最底层的传输方式,不安全)。
2. pathinfo ルーティング フォーム [デフォルトのルーティング フォーム]:
//网址/index.php/分组/控制器/方法
3. rewrite routing form;
//网址/分组/控制器/方法
4 、互換性のあるルーティング フォーム:
//网址/index.php?s=/分组/控制器/方法
三、php Laravel Framework
Laravel は、シンプルでエレガントな PHP WEB 開発フレームワーク。 PHP の比較的新しい機能とさまざまなデザインパターンが統合されており、学習に適したフレームワークですが、しっかりとした熟練した PHP の基礎が必要です。大規模および中規模のプロジェクトの開発に適しています。
おすすめコース : 「最新 Laravel Mall 実践ビデオチュートリアル 」
# メリット:
1 , Support Composer 2. フレームワーク構造は比較的明確で、コードのモジュール化(抽象化されたミドルウェア、タスク、サービスなど)とスケーラビリティに重点が置かれており、ルーティング システムは高速かつ効率的です3. サポート クロスサイトリクエストフォージェリを処理するには、フォーム投稿を送信するときに、{{ csrf_field() }} を渡す必要があります 4. Laravel のコミュニティは非常に強力で、豊富な拡張機能がありますパッケージとツール 5. キャッシュ、認証、タスク自動化、ハッシュ暗号化、トランザクションなどの機能を備えています。 6. 独自の .env 環境ファイルにより、システム構成とさまざまなプラットフォームの開発が容易になります
缺点:基于组件式的框架,相对有点臃肿
Laravel路由方法: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方式post
四、php Yii 框架
Yii Framework是一个基于组件、用于大规模web应用开发的高性能PHP开源框架,是目前最具效率的PHP框架之一。适合大型重量型web应用开发。
推荐课程:《Yii开发大型商城项目视频教程》
优势:
1、纯OOP开发,模型使用方便
2、支持命令行工具开发,可以快速的创建一个web应用程序的代码
3、具有高度的可重用性和可扩展性
4、开发速度快,性能优异且功能丰富
5、支持composer包管理工具
缺点:model 层考虑较少,文档中中文文档较少。要求php技术精通水平,OOP编程也要很熟练
相关推荐:
以上がPHP で一般的に使用されるフレームワークは何ですか? PHP 開発で一般的に使用されるフレームワークの違いの比較の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。