PHP

时间:2018-10-25 05:59:33

标签: php laravel oop

我正在用PHP和Laravel学习OOP。到目前为止,我的想法是variableproperty大致相同。 Methods等同于functions。但是有时我在许多文章中看到它们代表variableproperty略有不同。例如,在laravel naming conventions中,模型属性变量具有不同的术语。 variableproperty之间有什么区别(如果有)?

3 个答案:

答案 0 :(得分:4)

是的,方法是一个函数。

Model属性将是类中的全局变量,因此您可以在所有方法中使用它。并且根据访问修饰符(私有,受保护,公共),可以从继承自该类的其他类中使用模型属性。

变量将在方法内使用,并且仅在该方法的主体内使用。

答案 1 :(得分:1)

属性是属于对象的变量。也称为“成员”。恕我直言,主要区别在于范围。如果将public用作可见性,则变量仅在方法内可用,但在整个Class中以及对象中均是属性。 http://php.net/manual/en/language.oop5.visibility.php

答案 2 :(得分:-1)

PHP OOP中的属性(也称为成员变量)是存在于类内部的变量,并且必须是私有的,受保护的或公共的。例如:

class Bird {
    private $color; // This is a property of the Bird class
}

$var = 123; // This is just a normal variable

因此,文档所引用的 Model属性仅仅是模型的成员变量。

就功能和方法之间的区别而言,它们相似,除了主要区别在于:方法是存在于类内部的函数,并且必须是私有的,受保护的或公共的。例如:

class Bird {
    public function sing() { // This is a method
        echo 'tweet-tweet';
    }
}

function sayHello() { // This is a function
    echo 'hello';
}

注意:如果您未将属性或方法声明为私有,受保护或公共,则假定该属性或方法是公共的