ホームページ >バックエンド開発 >PHPチュートリアル >ThinkPHP5.0 と ThinkPHP3.2 の具体的な違いを簡単に紹介します。

ThinkPHP5.0 と ThinkPHP3.2 の具体的な違いを簡単に紹介します。

黄舟
黄舟オリジナル
2017-06-18 09:19:591541ブラウズ

エディターは、ThinkPHP5.0 バージョンと ThinkPHP3.2 バージョンの違いについて簡単に説明します。編集者はこれが非常に良いものだと思ったので、皆さんの参考として今から共有します。エディターに従って、5.0 バージョンが以前のバージョンと大きく異なることを見てみましょう。この記事では、3.2 バージョンに慣れているユーザー向けに、5.0 の主な違いをいくつか説明します。

URL とルーティング 5.0 URL アクセスは通常の URL モードをサポートしなくなり、ルーティングは通常のルーティング定義をサポートしなくなり、代わりに変数ルール (通常の定義) を使用したルール ルーティングにすべて変更されます。

主な改善点は次のとおりです:

ルーティング変数ルールを追加します。

リソース ルーティングを追加します。

MISS ルート定義を追加します。アンチパーシング ;Request オブジェクトと応答オブジェクト



5.0 は、要求オブジェクト Request と応答オブジェクト Response を追加します。Request は、要求を均一に処理し、要求情報を取得します。Response オブジェクトは、クライアントまたはブラウザーの応答を出力します。 。



モジュールとコントローラー

コントローラーの名前空間が調整されており、コントローラー クラスを継承する必要がありません。 アプリケーションの名前空間は、モジュール名ではなく app (定義可能) として統合されます。

コントローラーのクラス名には、デフォルトではコントローラー サフィックスがありません。

コントローラー クラスのサフィックスを有効にするために use_controller_suffix パラメーターを設定できます。メソッドは、直接出力する代わりに return メソッドを使用して、元の操作前および操作後のメソッドを廃止します。

事前操作の定義とアクセスを定義するために beforeActionList 属性を追加します。アクセスはコントローラーの自動配置をサポートします。

データベース

5.0 のデータベース クエリ機能が強化され、元の M クラスを介して直接呼び出すことができます。関数呼び出しは、db 関数で置き換えることができます。例:




3.2 version

M('User')->where(['name'=>'thinkphp'])->find ();

5.0バージョン

db('User')->where('name','thinkphp')->find();

主な改善点は以下の通りです:

チェーン クエリ操作をサポートします。

データ クエリは、オブジェクト、配列、PDOStatement オブジェクトを返します。
クエリ コンストラクター、クエリ構文の変更をサポートします。

ブロックをサポートします。クエリ; ビュークエリのサポート;

モデル

5.0 でのモデルの変更は、関連するモデルを含めて完全にオブジェクト指向の概念です。モデル クラスは Model を持たなくなりましたが、名前空間によって直接区別されます。元の D 関数呼び出しはモデル関数に変更され、対応するモデル クラスを作成する必要があります。例:

3.2 バージョン

D ('ユーザー')->where(['name'=>'thinkphp'])->find();




バージョン 5.0

model('ユーザー')->where ('name','thinkphp')->find();主な改善点:

アソシエーション モデルのリファクタリング 集計モデルのサポート ビュー モデルの廃止 (データベース ビュー クエリ メソッドへの変更) ; モデル拡張は Trait メカニズムを採用; ゲッターと修飾子を追加;

型フィールド変換を追加;


JSON シリアル化

サポート;

自動検証と自動補完

5.0 の自動データ検証と自動完了は 3.2 バージョンとは大きく異なります。5.0 のデータ検証はバリデーター定義を使用し、thinkValidate クラスを通じて統合検証を実行します。自動補完は、モデル内で修飾子を定義することによって実現されます。

Exceptions

5.0 では、デフォルトでは、あらゆるレベルのエラーに対して例外がスローされます (ただし、エラー レベルはアプリケーションのパブリック ファイルで設定できます)。また、例外ページが再設計されました。デバッグを容易にするため、詳細な

エラー メッセージ
を表示します。



デバッグとログ


5.0 のページ トレースの機能強化により、ブラウザ コンソールでのトレース情報の表示がサポートされます。

5.0 のログ ドライバーはソケット モードを追加し、SocketLog を使用してリモート デバッグ をサポートします。

定数

バージョン 5.0 では、元の定数定義のほとんどが放棄され、フレームワークのパス定数定義のみが保持され、残りの定数は App クラスまたは Request クラスの関連する属性またはメソッドを使用して完成できます。または、必要な定数を自分で再作成することもできます。

非推奨の定数には以下が含まれます:

REQUEST_METHOD IS_GET IS_POST IS_PUT IS_DELETE IS_AJAX EXT COMMON_MODULE MODULE_NAME CONTROLLER_NAME ACTION_NAME APP_NAMESPACE APP_DEBUG MODULE_PATH

関数

バージョン 5.0 コア フレームワークは、カスタム関数 に依存しません。ただし、いくつかの一般的な関数はヘルパー関数にカプセル化されており、自由にヘルパー関数を再定義したり追加したりできます。

以上がThinkPHP5.0 と ThinkPHP3.2 の具体的な違いを簡単に紹介します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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