Home  >  Article  >  PHP Framework  >  How to call between laravel methods

How to call between laravel methods

PHPz
PHPzOriginal
2023-04-14 16:54:06986browse

Laravel is a popular PHP development framework. It is easy to use, powerful and flexible, so it is favored by more and more PHP developers. In Laravel, calling between methods is a very common operation. This article will introduce in detail the calling methods and precautions between methods in Laravel.

1. Method calling method in Laravel

In Laravel, calling between methods is implemented through $this->methodName(), Among them, $this represents the current object instance (that is, the instantiated class object), and methodName represents a method name in the object instance.

For example:

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

$myInstance = new MyClass();
$myInstance->funcTwo();

In the above code, we called it in the funcTwo method through $this->funcOne() funcOne method in MyClass.

2. Notes

In Laravel, there are some things that need to be paid attention to when calling between methods. Let’s introduce them one by one below.

  1. Static methods cannot be called in the manner of $this->methodName() in non-static methods.

In Laravel, static methods are called with ClassName::methodName(), while non-static methods are called with $this-> It is called using methodName(). Therefore, a static method cannot be called $this->methodName() in a non-static method.

For example:

class MyClass 
{
    public static function funcStatic()
    {
        // do something
    }
    
    public function funcNoStatic()
    {
        $this->funcStatic(); // 错误的调用方式
        MyClass::funcStatic(); // 正确的调用方式
    }
}

In the above code, we cannot call $this->funcStatic() in the funcNoStatic method Static method funcStatic, the correct calling method should be MyClass::funcStatic().

  1. The parent class method in the subclass method can be called directly

In Laravel, the subclass method can be called throughparent::methodName() method to directly call the parent class method, which is the same as the object-oriented programming language specification of PHP.

For example:

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();

In the above code, we use parent::funcParent() to add funcChild in the B class The method calls the funcParent method in the A class.

  1. Naming convention for method names

In Laravel, the naming convention for method names should comply with PSR-1 and PSR-2 standards. Specifically, method names should be named with lowercase letters and underscores, and should clearly express the function of the method.

For example:

class MyClass 
{
    public function saveDataToDatabase()
    {
        // do something
    }
}

In the above code, we use save_data_to_database to name the methods in MyClass, so that it can be expressed clearly function of this method.

3. Summary

The calling method between methods in Laravel is $this->methodName(). Note that static methods cannot be used in non- Static methods are called in the manner of $this->methodName(), parent class methods in subclass methods can be called directly, and the naming convention of method names. Being proficient in these calling methods and precautions can bring great convenience to Laravel development work.

The above is the detailed content of How to call between laravel methods. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn