ホームページ  >  記事  >  バックエンド開発  >  ThinkPHP3.1.3 バージョンの新機能の概要_PHP チュートリアル

ThinkPHP3.1.3 バージョンの新機能の概要_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:24:281028ブラウズ

ThinkPHP バージョン 3.1.3 には、注目に値する機能がいくつかあります。以下で簡単に説明します。

1. 例外の改善

新しいバージョンの ThinkPHP3.1.3 は、例外クラス ThinkException を書き直し (実際、システムの Exception クラスを直接継承するように完全に単純化されています)、例外ロジックを改善して、それを Think クラスにカプセル化します。主に、Think クラスの appException メソッドと halt 関数が関係します。
また、改善された例外処理により、システムの致命的なエラーのキャプチャがサポートされます。その原則は、

を使用することです。
リーリー

したがって、システムの致命的なエラーは、統合された例外テンプレート インターフェイスを通じてフレンドリーな方法でプロンプトを表示できます。

2. PDOパラメータバインディングのサポート

ThinkPHP3.* バージョンはハイブリッド データベース ドライバーを使用し、PDO モードもサポートしていますが、以前のバージョンは PDO 用に最適化されておらず、単なるカプセル化であったためです。バージョン 3.1.3 では、PDO と Sqlarv のサポートが強化されています。これは、PDO と sqlsrv の両方がパラメーター バインディング操作をサポートしているためです (パラメーター バインディングをサポートしていないデータベースとドライバーはパラメーター バインディング関数を使用できないことに注意してください)。

システムは、自動バインドと手動バインドの 2 種類のパラメータ バインド操作をサポートしています。

自動バインディング 書き込み操作 (ここでのデータの追加と更新を含む) の場合、sqlsrv は値を渡すことによってのみパラメーター バインディングを使用するため、フレームワークは関連するデータをパラメーター バインディングに自動的に変換して実行します。 UTF8 データ書き込みをサポートできるようにすることはできますが、データを書き込むたびに手動でパラメータ バインディングを使用すると、さらに面倒になります。手動パラメータ バインドとの競合を避けるために、自動パラメータ バインドではフィールド名の md5 エンコードが使用されます。

手動バインディング。通常はクエリ条件などに使用され、バインドコヒーレント操作メソッドを使用します。例:

リーリー


3. 変数の安全な取得方法を追加しました

以前のバージョンでは、_post_get などの Action クラスのメソッドを使用して変数を安全に取得していましたが、新しいバージョンでは変数をコントローラー内でのみ取得できるという制限がありました。どこでも使用できます。
使用方法:

リーリー

配列全体の取得もサポートしています。例:

リーリー

I メソッドを使用する場合、システムの VAR_FILTERS および DEFAULT_FILTER フィルタリング構成は引き続き有効です。

4. where メソッドへの複数の呼び出し

モデルクラスの where メソッドは、配列モードでの複数の呼び出しをサポートできます。例:

リーリー

where 条件が複数ある場合、後の条件は前の条件にマージされ、最終的な条件は次と同等になります。

リーリー


5. コントローラーの assign メソッドは一貫した操作をサポートします

コントローラーで使用できます:

リーリー

または:

リーリー

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/825434.html技術記事 ThinkPHP3.1.3 バージョンには注目に値する機能がいくつかあります。以下にそれらについて簡単に説明します。 1. 例外の改善。ThinkPHP3.1.3 の新しいバージョンでは、例外クラス ThinkException が書き直されました (実際には完全に...
)。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。