Laravelメソッド間で呼び出す方法

PHPz
リリース: 2023-04-14 16:58:41
オリジナル
985 人が閲覧しました

Laravel は人気のある PHP 開発フレームワークで、使いやすく強力で柔軟性があるため、ますます多くの PHP 開発者に好まれています。 Laravelではメソッド間の呼び出しは非常に一般的な操作ですが、この記事ではLaravelにおけるメソッド間の呼び出し方法と注意点について詳しく紹介します。

1. Laravel でのメソッド呼び出し

Laravel では、メソッド間の呼び出しは $this->methodName() によって実装されます。 this は現在のオブジェクト インスタンス (つまり、インスタンス化されたクラス オブジェクト) を表し、methodName はオブジェクト インスタンス内のメソッド名を表します。

例:

class MyClass 
{
    public function funcOne()
    {
        // do something
    }
    
    public function funcTwo()
    {
        $this->funcOne(); // 调用 funcOne 方法
    }
}

$myInstance = new MyClass();
$myInstance->funcTwo();
ログイン後にコピー
上記のコードでは、

funcTwo メソッドで $this->funcOne() を通じて呼び出しました。 MyClass の ##funcOne メソッド。 2. 注意事項

Laravelではメソッド間の呼び出し時に注意すべき点がいくつかあるので、以下で一つずつ紹介していきます。

静的メソッドは、非静的メソッドの
    $this->methodName()
  1. の方法では呼び出すことができません。
  2. Laravel では、静的メソッドは
ClassName::methodName()

で呼び出され、非静的メソッドは $this-> で呼び出されます。メソッド名()。したがって、静的メソッドを非静的メソッドで $this->methodName() として呼び出すことはできません。 例:

class MyClass 
{
    public static function funcStatic()
    {
        // do something
    }
    
    public function funcNoStatic()
    {
        $this->funcStatic(); // 错误的调用方式
        MyClass::funcStatic(); // 正确的调用方式
    }
}
ログイン後にコピー

上記のコードでは、

funcNoStatic

メソッドの $this->funcStatic() を呼び出すことはできません。 静的メソッドfuncStatic、正しい呼び出しメソッドは MyClass::funcStatic() である必要があります。

サブクラス メソッド内の親クラス メソッドは直接呼び出すことができます
  1. Laravel では、サブクラス メソッドは
parent::methodName()# を通じて呼び出すことができます。 # # 親クラスのメソッドを直接呼び出すメソッドであり、PHP のオブジェクト指向プログラミング言語の仕様と同じです。

例:

class A
{
    public function funcParent()
    {
        // do something
    }
}

class B extends A
{
    public function funcChild()
    {
        parent::funcParent(); // 调用父类 A 中的 funcParent 方法
        // do something
    }
}

$myInstance = new B();
$myInstance->funcChild();
ログイン後にコピー
上記のコードでは、

parent::funcParent()

を使用して

funcChild を B クラスに追加します。 メソッドは、A クラスの funcParent メソッドを呼び出します。 メソッド名の命名規則

  1. Laravel では、メソッド名の命名規則は PSR-1 および PSR-2 標準に準拠する必要があります。具体的には、メソッド名は小文字とアンダースコアを使用し、メソッドの機能を明確に表現する必要があります。
例:

class MyClass 
{
    public function saveDataToDatabase()
    {
        // do something
    }
}
ログイン後にコピー
上記のコードでは、明確に表現できるように、

save_data_to_database

を使用して

MyClass 内のメソッドに名前を付けています。このメソッドの機能。 3. 概要

Laravel のメソッド間の呼び出しメソッドは

$this->methodName()

です。静的メソッドは非静的メソッドでは使用できないことに注意してください。

$this->methodName() の方法で呼び出され、サブクラス メソッド内の親クラス メソッドは直接呼び出すことができ、メソッド名の命名規則も適用されます。これらの呼び出し方法と注意事項を熟知すると、Laravel 開発作業が非常に便利になります。

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

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