ホームページ PHPフレームワーク ThinkPHP thinkphpをアップグレードする方法

thinkphpをアップグレードする方法

Aug 26, 2019 am 09:37 AM
thinkphp アップグレード

thinkphpをアップグレードする方法

#5.0 から 5.1 へのアップグレードを例として、php のバージョン アップグレード関連の概要を考えます:

まず、php の一般的なディレクトリ構造を見てください。 5.0:

project 应用部署目录
├—application 应用目录(可设置)
├—extend 扩展类库目录(可定义)
├—public WEB 部署目录(对外访问目录)
├—runtime 应用的运行时目录(可写,可设置)
├—vendor 第三方类库目录(Composer)
├—thinkphp 框架系统目录
ログイン後にコピー

5.1 の一般的なディレクトリ構造を見てみましょう:

www WEB部署目录(或者子目录)
├—application 应用目录
├—config 应用配置目录
├—route 路由定义目录
├—public WEB目录(对外访问目录)
├—thinkphp 框架系统目录
├—extend 扩展类库目录
├—runtime 应用的运行时目录(可写,可定制)
project 应用部署目录
├—application 应用目录(可设置)
├—extend 扩展类库目录(可定义)
├—public WEB 部署目录(对外访问目录)
├—runtime 应用的运行时目录(可写,可设置)
├—vendor 第三方类库目录(Composer)
├—thinkphp 框架系统目录
├—vendor 第三方类库目录(Composer依赖库)
ログイン後にコピー

ディレクトリの最初の層を見ると、5.1 には config ディレクトリと Route ディレクトリのみが追加されていることがわかります。バージョン 5.1 には、設定ファイルとルーター ファイルがすでに含まれています。

以下では、wstmart オープンソース モール システムを例としてアップグレードを試みます。

まず、最新の thinkphp5.1 フレームワークを git 経由でエクスポートします:

thinkphpをアップグレードする方法

それを実行して結果を見てみましょう:

thinkphpをアップグレードする方法

オープンソース モールの wstmart コードをインポートします。

関連する推奨事項: "ThinkPHP チュートリアル "

wstmart オープン ソース モールの wstmart ディレクトリにある wstmart を tp5 ディレクトリに切り取り、index.php ファイルを変更します。をクリックして、システム ルート ディレクトリでプロジェクトを直接実行し、データベース構成ファイルを変更してデバッグ機能をオンにして実行します。

thinkphpをアップグレードする方法え? ! !何か問題が発生しましたか?ドキュメントをざっと見てみましょう。ドキュメントを下にスクロールして見てください。よし。あまりにもせっかちで読み終えることができなかったことがわかりました。エントリ ファイルを再定義すると、もともとパブリック ディレクトリを指していたindex.php ファイルを単純に使用することはできません。たとえば、アプリケーション ディレクトリも定義する必要があります。 : Container::get( 'app')->path(APP_PATH)->run()->send(); ここで、APP_PATH は定義するアプリケーションのディレクトリです。これを次のように変更します:

Container::get('app')->path(__DIR__ . '/wstmart/')->run()->send();
ログイン後にコピー

実行して確認します:

thinkphpをアップグレードする方法

ようやく正常になりました。この結果の理由は、構成ファイルを変更せず、デフォルトのモジュールがホームであることをシステムに伝えたためです。その後、app.php ファイルの 'default_module' => 'home' を変更し、実行して次のことを確認しました。

thinkphpをアップグレードする方法

##えっと?これは何が起こっているのでしょうか?ファイルは明らかに存在します。 ! !ドキュメントを注意深くチェックしたところ、ドキュメントが存在することがわかりました...これは 5.1 に違いありません。また見逃していた重要な機能がいくつかあるため、ドキュメントを読みに戻りました。何度も検索した結果、最終的にアップグレード ガイドで次の文を見つけました。「アプリケーション クラス ライブラリの名前空間をカスタマイズする場合は、アプリケーション構成ファイルの代わりに環境変数 APP_NAMESPACE を設定する必要があります。.env 構成ファイルを使用する場合」を追加できます: APP_NAMESPACE = アプリケーション ライブラリのルート名前空間名。なるほど! !

したがって、システムの下に .env ファイルを作成します。コンテンツテキスト: app_namespace=wstmart

再実行:

thinkphpをアップグレードする方法

この段落は、この関数が見つからなかったことを意味します。 thinkphp5.0 フレームワークでは、システムは common ディレクトリ内のファイルを自動的にロードしますが、5.1 では自動的にロードされないのはなぜですか?そこでthinkphp5.1のソースコードを見てみました。次の行を参照してください:

thinkphpをアップグレードする方法

#未定義の配列?そんな変な質問ですか?

以下のエラー メッセージから、モジュール ホームのindex.php ファイルによって呼び出される関数 getFloors を見つけることができます。エラー メッセージは次のコードです:

$rs = Db::name('goods_cats')->where(['dataFlag'=>1, 'isShow' => 1,'parentId'=>['in',$ids],'isFloor'=>1])
->field("parentId,catName,catId")->order('catSort asc')->select();
ログイン後にコピー

問題があります。もう一度ドキュメントを見てみましょう。ドキュメントには次のように書かれています:

はクエリ コンストラクターの配列複数フィールド バッチ クエリを変更しました。元の

where(['name'=>['like','think%'], 'id'=>['>',0],])
ログイン後にコピー

where([['name','like','think%'], ['id','>',0],])
ログイン後にコピー

に調整する必要があります。コードを変更するには、上記の手順を参照してください。対象:

$rs = Db::name('goods_cats')->where([['dataFlag','=',1], ['isShow','=',1],['parentId','in',$ids],['isFloor','=',1]])
->field("parentId,catName,catId")->order('catSort asc')->select();
ログイン後にコピー
案の定、このエラーは表示されなくなりました。次は別の質問です:

thinkphpをアップグレードする方法

# ドキュメントを参照してください。この関数は thinkphp5.1 で変更されています。 thinkRequest を thinkFacadeRequest に変更すると、エラーは再び消えました。

以下はエラーです:

thinkphpをアップグレードする方法

システムはこの時点まで実行でき、プログラムが情報を受信して​​正常に返すことができたことを示しています。ページ上のエラーは、カスタム タグ wst:ads のエラーであるはずです。その結果、コンテンツが返されませんでした。上記のトラブルシューティング方法に従い、引き続きデバッグに戻りましたが、アップグレード中にラベルの設定を忘れていたことが判明しました。テンプレートを開き、コード 'taglib_pre_load' => 'wstmartcommonTaglibWst' を追加して、ページを更新します。

thinkphpをアップグレードする方法

これもよくあるエラーですが、今回は異なります。 function を使用すると、すでに解決策が見つかったエラーについては簡単に解決できるため、再度繰り返すことはありません。基本的には、モデル内のクエリ関数を変更するだけです。前の方法に従って変更を加えた後、Thinkphp 5.0 から 5.1 へのアップグレードを完了できます。

スペースが限られているため、デバッグのために 1 つずつスクリーンショットを撮ることはしません。最終的にアップグレードを完了する前に、私のように次から次へと穴を埋めることを避けるために、アップグレードする前に、皆さんは thinkphp の公式アップグレード ガイドを読んでください。 。

以上がthinkphpをアップグレードする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Conda で Python バージョンをアップグレードするためのいくつかの方法 Conda で Python バージョンをアップグレードするためのいくつかの方法 Feb 18, 2024 pm 08:56 PM

Conda が Python バージョンをアップグレードするためのいくつかの方法には、特定のコード サンプルが必要です。 概要: Conda は、Python パッケージと環境を管理するためのオープン ソースのパッケージ マネージャーおよび環境管理システムです。 Python を使用した開発中、新しいバージョンの Python を使用するために、古い Python バージョンからアップグレードする必要がある場合があります。この記事では、Conda を使用して Python のバージョンをアップグレードするいくつかの方法を紹介し、具体的なコード例を示します。方法 1: condainstall コマンドを使用する

numpy バ​​ージョンのアップグレード: 詳細でわかりやすいガイド numpy バ​​ージョンのアップグレード: 詳細でわかりやすいガイド Feb 25, 2024 pm 11:39 PM

numpy バ​​ージョンをアップグレードする方法: わかりやすいチュートリアル、具体的なコード例が必要 はじめに: NumPy は科学技術計算に使用される重要な Python ライブラリです。これは、強力な多次元配列オブジェクトと、効率的な数値演算を実行するために使用できる一連の関連関数を提供します。新しいバージョンがリリースされると、新しい機能やバグ修正が常に提供されます。この記事では、インストールされている NumPy ライブラリをアップグレードして最新の機能を入手し、既知の問題を解決する方法について説明します。ステップ 1: 最初に現在の NumPy バージョンを確認する

win10システムをアップグレードした後にインターネットにアクセスできない問題を解決する方法に関するチュートリアル win10システムをアップグレードした後にインターネットにアクセスできない問題を解決する方法に関するチュートリアル Mar 27, 2024 pm 02:26 PM

1. 以下に示すように、win+x ショートカット キーを使用してメニューを開き、[コマンド プロンプト (管理者) (A)] を選択します。 2. コマンド プロンプト インターフェイスに入ったら、[ipconfig/flushdns] コマンドを入力して Enter キーを押します。 3. 次に、次の図に示すように、[netshwinsockresetcatalog] コマンドを入力して Enter キーを押します。 4. 最後に [netshintipreset] コマンドを入力して Enter キーを押し、コンピューターを再起動すると、インターネットにアクセスできるようになります。 、以下の図に示すように:

thinkphpプロジェクトの実行方法 thinkphpプロジェクトの実行方法 Apr 09, 2024 pm 05:33 PM

ThinkPHP プロジェクトを実行するには、Composer をインストールし、Composer を使用してプロジェクトを作成し、プロジェクト ディレクトリに入り、php bin/consoleserve を実行し、http://localhost:8000 にアクセスしてようこそページを表示する必要があります。

Honor携帯電話をHongmengシステムにアップグレードする方法の詳細な説明 Honor携帯電話をHongmengシステムにアップグレードする方法の詳細な説明 Mar 25, 2024 am 11:51 AM

新しい技術分野では、新しいオペレーティング システムが常に大きな注目を集めます。最近、Honor 携帯電話は、Huawei が開発した新しいオペレーティング システムである Honmeng OS にアップグレードされると発表されました。これは多くの Honor 携帯電話ユーザーにとって間違いなく良いニュースです。しかし、多くのユーザーはHongmeng システムにアップグレードする方法についてまだ疑問を抱いているかもしれません。この記事では、Honor 携帯電話を Honmeng システムにアップグレードする方法を詳しく説明し、ユーザーが Honor をよりよく理解し、操作できるようにします。まず、Honor 電話を Honmeng システムにアップグレードするには、ユーザーは電話がネットワークに接続されており、十分な電力があることを確認する必要があります。これ

WPSのバージョンをアップグレードするにはどうすればよいですか? WPS Officeのバージョンを更新するにはどうすればよいですか? WPSのバージョンをアップグレードするにはどうすればよいですか? WPS Officeのバージョンを更新するにはどうすればよいですか? Mar 14, 2024 am 08:43 AM

WPS は多くのユーザーにとって必須のコンピューター ソフトウェアであり、新しいバージョンに定期的に更新することで、ユーザー エクスペリエンスが向上し、より多くの機能を利用できるようになります。では、WPS のバージョンをアップグレードするにはどうすればよいでしょうか? wpsofficeのバージョンアップには主に3つの方法がありますので、以下で見ていきましょう。方法 1: 公式 Web サイトから新しいバージョンをダウンロードする WPSOffice 公式 Web サイトからインストール パッケージの最新バージョンをダウンロードできます。 WPSOffice 公式 Web サイト (https://www.wps.cn/) にアクセスした後、「ダウンロード」ボタンをクリックし、ダウンロードする必要があるバージョンを選択し、画面の指示に従ってインストールします。注: 新しいバージョンをインストールする場合は、古いバージョンをアンインストールする必要があります。アンインストールしないと、ソフトウェアの競合が発生し、通常の使用ができなくなります。方法 2: WPSOf で

thinkphp にはいくつかのバージョンがあります thinkphp にはいくつかのバージョンがあります Apr 09, 2024 pm 06:09 PM

ThinkPHP には、さまざまな PHP バージョン向けに設計された複数のバージョンがあります。メジャー バージョンには 3.2、5.0、5.1、および 6.0 が含まれますが、マイナー バージョンはバグを修正し、新機能を提供するために使用されます。最新の安定バージョンは ThinkPHP 6.0.16 です。バージョンを選択するときは、PHP バージョン、機能要件、コミュニティ サポートを考慮してください。最高のパフォーマンスとサポートを得るには、最新の安定バージョンを使用することをお勧めします。

thinkphpの実行方法 thinkphpの実行方法 Apr 09, 2024 pm 05:39 PM

ThinkPHP フレームワークをローカルで実行する手順: ThinkPHP フレームワークをローカル ディレクトリにダウンロードして解凍します。 ThinkPHP ルート ディレクトリを指す仮想ホスト (オプション) を作成します。データベース接続パラメータを構成します。 Webサーバーを起動します。 ThinkPHP アプリケーションを初期化します。 ThinkPHP アプリケーションの URL にアクセスして実行します。

See all articles