ThinkPHP 3.2 バージョンでアップグレードされたコンテンツ_PHP チュートリアル

WBOY
リリース: 2016-07-13 10:04:51
オリジナル
705 人が閲覧しました

ThinkPHP 3.2 では何がアップグレードされましたか?

ThinkPHP 3.2 は長い間リリースされてきましたが、今回はプログラマーの開発を容易にするために ThinkPHP 3.2 にどのような変更が加えられたかをまとめます。

はじめに

ThinkPHP 3.2 は ThinkPHP 3.1 をベースにしており、多くの変更が加えられていますが、このバージョンは 3.2 ではなく ThinkPHP 4.0 として設定する必要があると思います。 ThinkPHP 3.1 を使用している場合は、むやみに移行したりアップグレードしたりしないでください。これは、単にファイルを上書きして安全なままにしておくという問題ではありません。

1.PHPのバージョン

ThinkPHP 3.2 には PHP 5.3 以降が必要ですが、ThinkPHP 3.1 には PHP 5.2 のみが必要です

2. プログラムフォルダーの変更

ThinkPHP 3.2 はプログラム フォルダーとして Application を使用しますが、ThinkPHP 3.1 はプログラム フォルダーとして app を使用します。

3. さまざまなグループ設定のアップグレード

今後の開発ではグループ化を行わないことをお勧めします。そうしないと、グループ化に対処する必要がたくさんあります。グループ化されていない友達がいる場合は、公式を参照してください。答えを見つけるにはドキュメントを参照してください。

ThinkPHP 3.2 はホーム ディレクトリを設定し、多くのファイルがホーム ディレクトリに移行されます。

コードは次のとおりです:


App/Common/common.php =>Application/Home/Common/function.php
App/Common/extend.php => Application/Home/Common/extend.php (定義が存在すると仮定)
App/Conf/Config.php => アプリケーション/ホーム/Conf/config.php
App/Lang/zh-cn/common.php => Application/Home/Lang/zh-cn.php (存在すると仮定)
アプリ/ライブラリ/アクション => アプリケーション/ホーム/アクション
アプリ/ライブラリ/モデル => アプリケーション/ホーム/モデル
アプリ/Tpl => アプリケーション/ホーム/ビュー

ホーム ディレクトリの外観のため、.htaccess ファイルを次のように変更する必要があることに注意してください。

コードは次のとおりです:


オプション +シンボリックリンクをフォロー
リライトエンジンオン
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$index.php/home/$1 [QSA,PT,L]

それ以外の場合、モジュールが見つからないエラーが発生します。

新しいディレクトリでは、Action と Tpl の名前がそれぞれ Controller と View に変更され、MVC フォルダーのデプロイメント方法がより直感的に反映されます。 Action を保持している友人については、Application/Common/config.php の情報を変更できます:

コードは次のとおりです:

'DEFAULT_C_LAYER' => 'Action', //デフォルトのコントローラーレイヤー名
'MODULE_ALLOW_LIST' => array('Home','Admin',...), //オリジナルのグループリストを設定します
'DEFAULT_MODULE' => 'Home', // オリジナルのデフォルトグループを設定します

4. システム構成パラメータの変更

ThinkPHP 3.2 は、以下のシステム構成パラメーターを廃止しました

コードは次のとおりです:

APP_GROUP_LIST
APP_GROUP_MODE
APP_AUTOLOAD_PATH
APP_TAGS_ON
APP_GROUP_PATH
DEFAULT_APP
デフォルト_グループ
VAR_グループ
LOG_DEST
LOG_EXTRA

以下の設定パラメータを変更しました

コードは次のとおりです:

DEFAULT_MODULE => DEFAULT_CONTROLLER

5. 名前空間

ThinkPHP 3.2 は、プロジェクトの Application/Home/Action ディレクトリにあるすべてのファイルのヘッダーに次のコードを追加します (コメントを除く最初の行である必要があります)。

コードは次のとおりです:

名前空間 HomeAction;
ThinkAction を使用します;

プロジェクトでコントローラーの階層化を使用している場合は、各階層化されたクラス ライブラリ ファイルに同様のコードを追加する必要があります。たとえば、イベント レイヤーを定義する場合は、それをヘッダーに追加する必要があります。

コードは次のとおりです:

名前空間 HomeEvent;

ThinkAction を使用します;


プロジェクトの Application/Home/Model ディレクトリにあるすべてのファイルのヘッダーに次のコードを追加します (コメントを除く最初の行である必要があります):

コードは次のとおりです:

名前空間 HomeModel;

ThinkModel を使用します;


プロジェクトでモデルの階層化を使用する場合、階層化された各クラス ライブラリ ファイルに同様のコードを追加する必要があります。たとえば、サービス レイヤーがある場合は、それをヘッダーに追加する必要があります。

コードは次のとおりです:

名前空間 HomeService;

ThinkModel を使用します;


6. メソッドの調整

コントローラー クラス ThinkController または ThinkAction の次のメソッドは非推奨になりました:
失効方法 代替方法
_get('id') 私('get.id')
_post('id') 私('post.id')
_put('id') 私('put.id')
_param('id') 私('id')
_request('id') 私('request.id')
_cookie('id') 私('cookie.id')

7. 一定の調整

次の定数は非推奨になりました:
APP_NAME // バージョン 3.2 ではこの定数を定義する必要はありません
__GROUP__ // バージョン 3.2 では、__MODULE__ を使用してモジュールの URL アドレスを表すことができます
GROUP_NAME //バージョン 3.2 では、MODULE_NAME を使用して現在のモジュール名を取得できます
MODE_NAME // バージョン 3.2 のモード拡張は廃止されました。以下のモード調整セクションを参照してください。

これで基本的に移行は完了します。途中で変更がある場合は、公式ドキュメントにアクセスして答えを見つけてください。

上記は、この記事で説明した ThinkPHP3.2 の変更点です。皆様のお役に立てれば幸いです。

http://www.bkjia.com/PHPjc/963995.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/963995.html技術記事 ThinkPHP 3.2 では何がアップグレードされましたか? ThinkPHP 3.2 は長い間リリースされてきましたが、今回はプログラマの開発を容易にするために ThinkPHP 3.2 でどのような変更が行われたかをまとめます。 前に...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!