Roshette
@Roshette
So love fucking laravel

Что означает эта запись в PHP?

Допустим, этот пример.
Route::get('/home', 'HomeController@index')->name('home');

Как я понимаю у нас есть класс Route и обращаемся к функции get(), но что значит ->name('home');
Этот оператор, ->, как я понял, является оператором доступа к классу. но мы уже вызвали функцию
  • Вопрос задан
  • 449 просмотров
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега PHP
Этот оператор, ->, как я понял, является оператором доступа к классу. но мы уже вызвали функцию

Это оператор вызова метода объекта. Функция вполне может вернуть объект, что в данном случае и происходит. Это называется method chaining.
Этот код можно переписать вот так:
$route = Route::get('/home', 'HomeController@index');
$route->name('home');
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
Sanasol
@Sanasol Куратор тега PHP
нельзя просто так взять и загуглить ошибку
Комментировать
@Kostik_1993
Web Developer
method chaining или цепочка методов.
Позволяет упростить написание такого вида
$route = Route::get('/home', 'HomeController@index');
$route->name('home');

Пример
Ответ написан
Комментировать
@Sad_Bro
На темной стороне.
Там как в jquery паттерн используется, те метод возвращает this, соотв. можно строить такие цепочки.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы