[英]What is the difference between “GLOBAL” and “STATIC” variable in PHP?
[英]What is the difference between Method, Property and Variable in PHP
我正在用PHP和Laravel学习OOP。 到目前为止,我的想法是variable
和property
或多或少是相同的。 Methods
等同于functions
。 但是有时我在许多文章中看到它们表示variable
和property
略有不同。 例如,在laravel命名约定中 , Model属性和变量具有不同的术语。 variable
和property
之间有什么区别(如果有)?
是的,方法是一种功能。
Model属性将是类中的全局变量,因此您可以在所有方法中使用它。 并且根据访问修饰符(私有,受保护,公共),可以从继承自该类的其他类中使用模型属性。
虽然变量将在方法内使用,并且仅在该方法的主体内使用。
属性是属于对象的变量。 也称为“成员”。 恕我直言,主要区别在于范围。 如果将public用作可见性,则变量仅在方法内可用,但在整个Class中以及对象中均是属性。 http://php.net/manual/zh/language.oop5.visibility.php
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';
}
注意:如果您未将属性或方法声明为私有,受保护或公共,则假定它是公共的
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.