ホームページ >バックエンド開発 >PHPチュートリアル >PHP で一般的に使用されるフレームワークは何ですか? PHP 開発で一般的に使用されるフレームワークの違いの比較

PHP で一般的に使用されるフレームワークは何ですか? PHP 開発で一般的に使用されるフレームワークの違いの比較

不言
不言オリジナル
2018-07-25 14:32:1215963ブラウズ

私は日々の仕事で 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编程也要很熟练

 相关推荐:

2019热门php开发框架排行

PHP四大主流框架的优缺点总结

PHP中常用的七大框架的优点与缺点

以上がPHP で一般的に使用されるフレームワークは何ですか? PHP 開発で一般的に使用されるフレームワークの違いの比較の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。