5.0 バージョンは以前のバージョンとは大きく異なります。この記事では、バージョン 3.2 に慣れているユーザー向けに 5.0 の主な違いをいくつか説明します。この記事では主に ThinkPHP5.0 バージョンと ThinkPHP3.2 バージョンの違いについて説明します。編集者はこれが非常に良いものだと思ったので、皆さんの参考として今から共有します。編集者をフォローして見てみましょう。皆さんのお役に立てれば幸いです。
URL とルーティング
5.0 URL アクセスは通常の URL モードをサポートしなくなり、ルーティングは通常のルート定義をサポートしなくなり、代わりに、すべて可変ルール (通常の定義) によるルール ルーティングに変更されました。
主な改善点は次のとおりです。
ルーティング変数ルールを追加; リソース ルーティングを追加;
MISS ルート定義を追加;
リクエスト オブジェクト応答オブジェクト
5.0 では、要求オブジェクト Request と応答オブジェクト Response が追加され、Request は要求を均一に処理し、要求情報を取得します。Response オブジェクトは、クライアントまたはブラウザーの応答を出力します。
コントローラーのクラス名には、デフォルトではコントローラー サフィックスがありません。
コントローラー クラスのサフィックスを有効にするために use_controller_suffix パラメーターを設定できます。メソッドは、直接出力の代わりに return メソッドを使用してデータを返します。事前操作を定義するために beforeActionList 属性を追加します。
URL アクセスをサポートします。コントローラーの自動配置;
データベース
5.0 元々はモデルを通じて使用する必要があったチェーン クエリを、元の M 関数呼び出しで置き換えることができるようになりました。 db 関数、例:
3.2 バージョン
5.0 バージョン
db ('User')->where('name','thinkphp')-> find();
主な改善点は次のとおりです:
データ セット クエリは配列と Collection オブジェクトを返すことをサポート;
クロージャ クエリをサポート;SQL リスニング イベントを追加; 5.0 のモデルの変更が最も大きく、基本的にモデルはアソシエーション モデルを含む完全なオブジェクト指向の概念になり、モデル クラスのサフィックスは Model を持たなくなり、元の D 関数呼び出しによって直接区別されます。モデル関数に追加し、対応するモデル クラスを作成する必要があります。例:
3.2 バージョン
D('User')-> ;where(['name'=>'thinkphp'])->find ();
5.0 バージョン
model('User')->where('name','thinkphp')-> ;find();
主な改善点:
集計モデルをサポートします。
ビュー モデルを廃止します (データベースのビュー クエリ メソッドに変更されます)。ゲッターとモディファイアを追加します。
型フィールド変換を追加します。 ;配列アクセスのサポート;
自動検証と自動完了
5.0 のページ トレースの機能強化では、トレース情報を表示するためのブラウザ コンソールがサポートされています。
5.0 ログ ドライバーはソケット モードを追加し、SocketLog を使用してリモート デバッグをサポートします。
定数
バージョン 5.0 では、元の定数定義のほとんどが放棄され、フレームワークのパス定数定義のみが保持されます。残りの定数は、App クラスまたは Request クラスの関連する属性またはメソッドを使用して完成させることができます。必要な定数を自分で再定義してください。
5.0 バージョン コア フレームワークはカスタム関数に依存しませんが、いくつかの一般的な関数をヘルパー関数にカプセル化します。ヘルパー関数を自由に再定義または追加できます。 関連する推奨事項:
ThinkPHP5.0 の画像アップロードプラグインの実装例の共有
thinkPHP5.0 フレームワークに関する推奨記事 10 件
thinkPHP5.0 フレームワークの単純な構成スコープのコード例
以上がThinkPHP5.0とThinkPHP3.2のバージョンの違いを詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。