2016-04-07 2 views
-2

Я новичок в php, но имею много опыта ООП. Мне просто интересно, почему вы делаете это на php.php Разница между -> и

То, что я думаю, что ваш хотел сделать:

$example->functionName(); 

То, что я думал, что вы сделали:

$example.functionName(); 

(Пожалуйста, скажите мне, если Ive получил все это неправильно)

Итак, вопрос в том, почему вы используете -> вместо. в php? Или нет никакой разницы?

+0

Оператор конкатенации '' '' '' 'while' -> '- это операторы объектов –

+2

для получения дополнительных пояснений: http://stackoverflow.com/questions/3737139/reference-what-does-this-symbol-mean-in- php –

ответ

3

В PHP -> является «оператором объекта». Он используется для доступа к свойству или методу объекта. Специальностей нет, просто PHP решил использовать этот символ.

Кроме того, существует :: для доступа к статическим методам и свойствам классов (MyClass::staticMethod()).

. в PHP используется для конкатенации строк.

2

"" (ДОТ) используются для строки concatation операции в PHP.

$str1='AB'; 
$str2='CD'; 
echo $str1.$str2; // ABCD 
echo $str1.' '.$str2; // AB CD 

В то время как $example->functionName(); относится, что $ примером является объектом и звонит functionName() как метод класса.

Просто . является конкатенации оператора и -> является оператором объекта.

+0

Просто небольшое примечание: 'метод класса' сродни« статическому методу »- они работают не на объекте, а на классе. Метод, который работает специально для данного объекта, будет называться методом экземпляра. – ROAL

Смежные вопросы