ホームページ > PHPフレームワーク > ThinkPHP > thinkphpで別のクラスのメソッドを呼び出す方法

thinkphpで別のクラスのメソッドを呼び出す方法

PHPz
リリース: 2023-04-17 10:13:31
オリジナル
1317 人が閲覧しました

ThinkPHP は優れた PHP 開発フレームワークであり、開発者に広く愛されています。開発プロセスでは多くのクラスを作成することがよくありますが、現在のクラスで別のクラスのメソッドや属性を使用する必要がある場合、どうすればよいでしょうか?この記事では、ThinkPHP で別クラスのメソッドを呼び出す方法を紹介します。

1. クラスのインポート

別のクラスのメソッドを使用するには、最初のステップはもちろん、そのクラスを現在のクラスに導入することです。 ThinkPHP では、import 関数を使用してこれを実現できます。

import('命名空间.类名');
ログイン後にコピー

このうち、namespaceclass name がそれぞれインポートされたクラスです。 . 名前空間とクラス名。インポートされたクラスがどの名前空間にもない場合は、クラス名を import 関数に直接渡すだけです。

たとえば、クラス OtherClass があり、これにはメソッド test が含まれています。このメソッドを現在のクラスで使用したい場合は、次のように記述できます。これ:

import('app\MyClass\OtherClass');
class MyClass {
    public function test() {
        $other = new OtherClass();
        $other->test();
    }
}
ログイン後にコピー

このようにして、MyClassOtherClasstest メソッドを使用できます。

2. クラスのインスタンス化

クラスをインポートした後、クラスのメソッドとプロパティを使用するために、new キーワードを使用してクラスをインスタンス化する必要もあります。クラス。通常、インポートされたクラスは現在のクラスのコンストラクターでインスタンス化されます。例:

import('app\MyClass\OtherClass');

class MyClass {
    private $other;
    public function __construct() {
        $this->other = new OtherClass();
    }
    public function test() {
        $this->other->test();
    }
}
ログイン後にコピー
ログイン後にコピー

コンストラクターで OtherClass をインスタンス化し、それを MyClass のプライベート プロパティ $other に割り当てます。次に、test メソッドで、$other オブジェクトの test メソッドを呼び出すことができます。

3. メソッドの呼び出し

インポートされたクラスをインスタンス化した後、クラス内のメソッドを使用できるようになります。メソッドを呼び出す前に、現在のクラスとインポートされたクラスの関係を理解する必要があります。

  1. 親子関係

現在のクラスがインポートされたクラスのサブクラスである場合、parent キーワードを直接使用して、インポートされたクラスのメソッド。例:

import('app\MyClass\OtherClass');

class MyClass extends OtherClass {
    public function test() {
        parent::test();
    }
}
ログイン後にコピー

MyClass では、OtherClass を継承し、test メソッドをオーバーライドしますが、## も使用したいと考えています。 #OtherClass の ##test メソッドは、parent::test() を使用して呼び出すことができます。

協力関係
  1. 現在のクラスとインポートされたクラスが親子関係ではなく、協力関係にある場合、オブジェクトをインスタンス化することでクラスを呼び出すことができます。インポートされたクラス Methods の。例:
import('app\MyClass\OtherClass');

class MyClass {
    private $other;
    public function __construct() {
        $this->other = new OtherClass();
    }
    public function test() {
        $this->other->test();
    }
}
ログイン後にコピー
ログイン後にコピー

この例では、

MyClass

OtherClass の間に継承関係はありません。$other オブジェクトをインスタンス化します。 OtherClasstest メソッド。 概要

上記は、ThinkPHP で別のクラスのメソッドを呼び出す方法です。親子関係でも協力関係でも、使用するクラスを

import

関数でインポートし、インスタンス化後にそのメソッドを呼び出すことができます。頻繁に呼び出す必要があるクラスやメソッドについては、ThinkPHP のグローバル ファイルに定数や関数を定義して、プロジェクト内のどこからでも簡単に呼び出すことができます。

以上がthinkphpで別のクラスのメソッドを呼び出す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート