ホームページ >バックエンド開発 >PHPチュートリアル >ThinkPHP5.0 と ThinkPHP3.2 の具体的な違いを簡単に紹介します。
エディターは、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 サイトの他の関連記事を参照してください。