ホームページ > 記事 > PHPフレームワーク > thinkphp3.2と5.0の違いは何ですか?
相違点: 1. 3.2 は通常の URL パターンと通常のルーティング定義をサポートしますが、5.0 はサポートしません; 2. 5.0 は要求オブジェクト Request と応答オブジェクト Response を追加します; 3. 5.0 はエラーに対する許容度がゼロですが、3.2バージョン 4.5.0 では、元の定数定義のほとんどが放棄され、フレームワークのパス定数定義のみが保持されました。
このチュートリアルの動作環境: Windows 7 システム、thinkphp v5.0 バージョン、Dell G3 コンピューター。
5.0
以前のバージョンとの間には大きな違いがあります。この記事は次のとおりです。 3.2 に精通している
バージョンのユーザーは、5.0
の主な違いをいくつか挙げています。
URL とルーティング
##5.0 URL アクセスは、通常の
URL モード、ルーティングをサポートしなくなりました。また、通常のルーティング定義はサポートされていませんが、すべてが変数ルール (通常の定義) を使用したルール ルーティングに変更されます。
#リクエスト オブジェクトとレスポンス オブジェクト #5.0
リクエスト オブジェクトRequest とレスポンス オブジェクト
Response を追加しました。
Request は、リクエストを均一に処理し、リクエスト情報を取得します。
Response オブジェクトクライアントまたはブラウザーの応答を出力する責任があります。
コントローラーの名前空間は調整されており、コントローラー クラスを継承する必要はありません。
アプリケーションの名前空間はモジュール名ではなく
appコントローラーのクラス名には
Controller は含まれません## デフォルトでは #Suffix を有効にするように構成できます
コントローラの操作メソッドは return
メソッドを使用してデータを返します直接出力の代わりに;
URL アクセスはコントローラーの自動配置をサポートします; 5.0データベース クエリ関数が強化されましたが、元々はモデルが必要でした。使用されるチェーン クエリは、Db クラスを通じて直接呼び出すことができます。元の MM 関数呼び出しは、# を使用するように変更できます。 ##db
関数、例:3.2 バージョン
M('User')->where(['name'=>'thinkphp'])->find();
5.0 バージョン
db('User')->where('name','thinkphp')->find();主な改善点は次のとおりです:
チェーン クエリ操作をサポートします。データ クエリは、オブジェクト、配列、および
PDOStatementオブジェクトを返すことをサポートします。
クエリ コンストラクターの追加、クエリ構文の変更;
ブロック クエリをサポート;
5.0 は最も大きなモデル変更があります。基本的に、モデルは完全にオブジェクト指向です。コンセプトは、関連モデルも含めてです。モデル クラスのサフィックスには Model が含まれなくなりましたが、名前空間によって直接区別されます。元の #D
関数呼び出しはmodel 関数に変更され、対応するモデル クラスを作成する必要があります。例:
3.2 version
D('User')->where(['name'=>'thinkphp'])->find();
5.0 バージョン
model('User')->where('name','thinkphp')->find();主な改善点は次のとおりです。
関連付けモデルを再構築します。集計モデルをサポートします。
ビュー モデルを廃止 (データベースのビュー クエリ メソッドに変更);
型フィールド変換を追加;
クラスを通じて統合検証を実行します。自動補完は、モデル内で修飾子を定義することによって実現されます。 例外
エラーに対するゼロ許容度。デフォルトでは、あらゆるレベルのエラーに対して例外がスローされます (ただし、エラー レベルはアプリケーションのパブリック ファイルで設定できます)。例外ページはデバッグを容易にするために詳細なエラー情報を表示するように再設計されました。 デバッグとログ
ページ Trace がブラウザ コンソールの View Trace をサポートするように強化されました情報。
5.0 のログ ドライバーは、Socket
メソッドを追加し、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
版本核心框架不依赖任何自定义函数,但仍然封装了一些常用功能到助手函数,你可以随意重新定义或者增加助手函数。
【相关教程推荐:thinkphp框架】
以上がthinkphp3.2と5.0の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。