В чем разница между методом, свойством и переменной в PHP - PullRequest
0 голосов
/ 25 октября 2018

Я изучаю ООП на PHP и Laravel.Пока что моя идея состоит в том, что variable и property более или менее одинаковы.Methods эквивалентно functions.Но иногда я вижу во многих статьях, что они представляют variable и property немного по-разному.Например, в соглашения об именах laravel , свойства модели и переменная имеют разные термины.Каковы различия (если таковые имеются) между variable и property?

Ответы [ 3 ]

0 голосов
/ 25 октября 2018

Свойство - это переменная, которая принадлежит объекту.Они также называются "Члены".Имхо главное отличие - это сфера.Переменная доступна только в методе, но свойство во всем классе, а также в объекте, если вы используете public как видимость.http://php.net/manual/en/language.oop5.visibility.php

0 голосов
/ 25 октября 2018

Свойство (также называемое переменной-членом) в PHP OOP - это переменная, которая существует внутри класса и должна быть закрытой, защищенной или общедоступной.Например:

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

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

Таким образом, Свойство модели , на которое ссылается документация, является просто переменной-членом модели.

Что касается различия между функциямии методы, они похожи, за исключением одного существенного различия: методы - это функции, которые существуют внутри класса и должны быть частными, защищенными или общедоступными.Например:

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

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

Примечание. Если вы не объявляете свойство или метод частным, защищенным или общедоступным, предполагается, что оно является общедоступным

0 голосов
/ 25 октября 2018

Да, метод - это функция.

Свойство модели будет глобальной переменной в классе, поэтому вы можете использовать ее во всех методах.И в зависимости от модификатора доступа (private, protected, public) свойство модели может использоваться из других классов, наследующих / создающих экземпляры этого класса.

Хотя переменная будет использоваться в методе и будет использоваться только в теле этого метода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...