ホームページ バックエンド開発 PHPチュートリアル thinkphp 名​​前空間の使用例の詳細な説明

thinkphp 名​​前空間の使用例の詳細な説明

Jul 29, 2016 am 09:08 AM
class namespace nbsp test thinkphp

この記事の例では、thinkphp 名​​前空間の使用法について説明します。参考のために皆さんと共有してください。詳細は次のとおりです:

新しいバージョン (3.2) は、名前空間を使用してクラス ライブラリ ファイルを定義およびロードし、複数のモジュール間の競合を解決し、より効率的な自動ロード メカニズムを実装します。

クラスが自動的にロードされるように、クラス ライブラリが配置される名前空間を定義する必要があります。たとえば、OrgUtilFile クラスは

として定義されます。

namespace Org\Util;
class File {
}

ログイン後にコピー

それが配置されているパスは ThinkPHP/Library/Org/Util/File.class.php です。このクラスを次のようにインスタンス化します:

コードをコピーします コードは次のとおりです:

$ class = new OrgUtilFile();


システムは上記のファイルを自動的にロードします。これにより、名前空間で定義されたクラスをインスタンス化する前にクラス ライブラリ ファイルをインポートする必要がなくなります。

ルート名前空間は非常に重要な概念です。例として上記の OrgUtilFile クラスを取り上げます。Org はルート名前空間であり、それに対応する初期名前空間ディレクトリはシステムのクラス ライブラリ ディレクトリである ThinkPHP/Liberary であり、これは次のレベルのサブディレクトリです。ディレクトリはルート名前空間として自動的に認識され、これらの名前空間は登録なしで使用できます。

Library ディレクトリの下に新しい My root 名前空間ディレクトリを追加し、次のように Test クラスを定義します:

namespace My;
class Test
{
   public function sayHello()
  {
    echo 'hello';
  }
}

ログイン後にコピー

テスト クラスを ThinkPHP/Liberary/My/Test.class.php に保存すると、インスタンス化できます。

$Test = new \My\Test();
$Test->sayHello();

ログイン後にコピー

モジュールのクラスライブラリ名前空間は、モジュール名に基づいて名前が付けられます。例:

namespace Home\Model;
class UserModel extends \Think\Model
{
}

ログイン後にコピー

そのクラスファイルは、Application/Home/Model/UserModel.class.php

namespace Admin\Event;
class UserEvent {
}

ログイン後にコピー
にあります。

そのクラス ファイルは Application/Admin/Event/UserEvent.class.php にあります

3.2.1 以降では、アプリケーション クラス ライブラリに名前空間を使用しない設定が可能です。 設定ファイルの設定は次のとおりです。

コードをコピーしますコードは次のとおりです:

'APP_USE_NAMESPACE' => false,


これにより、アプリケーション クラス ライブラリは名前空間定義を使用する必要がなくなりますが、継承および呼び出しの際には引き続き名前空間を使用する必要があります。たとえば、次のアプリケーション クラス ライブラリは、名前空間 AdminModel;

class UserModel extends \Think\Model {
}

ログイン後にコピー

を書きません。特別な注意: PHP の組み込みクラス ライブラリ、または を使用して定義されていないサードパーティ クラスをインスタンス化する必要がある場合。バージョン 3.2 の名前空間を使用するには、次のメソッドを使用する必要があります:

$class =  new \stdClass();
$sxml =  new \SimpleXmlElement($xmlstr);

ログイン後にコピー

この記事で説明した内容が、thinkPHP フレームワークに基づいた PHP プログラミングの皆様のお役に立てれば幸いです。

以上、thinkphp の名前空間の使用例を内容も含めて詳しく紹介しましたので、PHP チュートリアルに興味のある方の参考になれば幸いです。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

Huawei Watch GT 5スマートウォッチが新機能を追加してアップデートされる Huawei Watch GT 5スマートウォッチが新機能を追加してアップデートされる Oct 03, 2024 am 06:25 AM

ファーウェイは、Watch GT 5 および Watch GT 5 Pro スマートウォッチ用のソフトウェア バージョン 5.0.0.100(C00M01) をグローバルに展開しています。これら 2 つのスマートウォッチは最近ヨーロッパで発売され、標準モデルが同社の最も安価なモデルとして登場しました。このハーモニー

鉄拳のカーネル・サンダースの夢をKFCが揚げた 鉄拳のカーネル・サンダースの夢をKFCが揚げた Oct 02, 2024 am 06:07 AM

『鉄拳』シリーズのディレクターである原田勝弘氏は、かつて真剣にカーネル・サンダースを象徴的な格闘ゲームに登場させようとした。 TheGamerとのインタビューで原田氏は、このアイデアを日本KFCに売り込み、ファストフード界のレジェンドをGとして追加したいと考えていたことを明かした。

初見:次期 Anker Zolo 4 ポート 140W ディスプレイ付き充電器の開封ビデオが流出 初見:次期 Anker Zolo 4 ポート 140W ディスプレイ付き充電器の開封ビデオが流出 Oct 01, 2024 am 06:32 AM

2024年9月初め、AnkerのZolo 140W充電器がリークされました。これは同社初のディスプレイ付き壁掛け充電器だったため、大きな話題になりました。 YouTube の Xiao Li TV からの新しい開封ビデオでは、この製品を直接見ることができます。

HyperOS を搭載した新しい Xiaomi Mijia グラフェン オイル ヒーターが到着 HyperOS を搭載した新しい Xiaomi Mijia グラフェン オイル ヒーターが到着 Oct 02, 2024 pm 09:02 PM

Xiaomiは間もなくMijiaグラフェンオイルヒーターを中国で発売する予定です。同社は最近、Youpin プラットフォームでホストされるスマート ホーム製品のクラウドファンディング キャンペーンを実施し、成功を収めました。ページによると、デバイスはすでに出荷され始めています

Garmin、新しいアップデートにより複数のスマートウォッチ向けの Adventure Racing アクティビティの改善をリリース Garmin、新しいアップデートにより複数のスマートウォッチ向けの Adventure Racing アクティビティの改善をリリース Oct 01, 2024 am 06:40 AM

Garmin は、最新のハイエンド スマートウォッチの新しい安定したアップデートのセットで月末を迎えます。要約すると、同社は Enduro 3、Fenix E、および Fenix 8 のバッテリー消耗の多さに対処するためにシステム ソフトウェア 11.64 をリリースしました (Amazon で現在 1,099.99 ドル)。

ThinkPHP6およびElasticSearch-PHPクライアントを使用してElasticSearch 8に接続するときのCurlエラー77の問題を解決する方法? ThinkPHP6およびElasticSearch-PHPクライアントを使用してElasticSearch 8に接続するときのCurlエラー77の問題を解決する方法? Mar 31, 2025 pm 11:36 PM

Elasticsearch-PHPクライアントと組み合わせてElasticsearchを操作するThinkPhp6フレームワークを使用して...

ThinkPhp6ルーティング:中国語などの特殊文字を含むURLパラメーターを完全に取得する方法は? ThinkPhp6ルーティング:中国語などの特殊文字を含むURLパラメーターを完全に取得する方法は? Apr 01, 2025 pm 02:51 PM

ThinkPhp6ルーティングパラメーターは、中国と完全な買収で処理されます。 ThinkPhp6フレームワークでは、特殊文字(中国語や句読点など)を含むURLパラメーターがしばしば処理されます...

ThinkPhp6で2つの列のデータの合計を同時に照会する方法は? ThinkPhp6で2つの列のデータの合計を同時に照会する方法は? Apr 01, 2025 pm 02:54 PM

ThinkPhp6データベースクエリ:TP6を使用してSQLステートメントを実装する方法SelectSum(JIN)、Sum(CHU)ThinkPhp6フレームワークでSysdbuil、SQLステートメントの使用方法SELECT ...

See all articles