В прошлом видео мы с вами создали адрес для обращения наших пользователей, чтобы они могли куда-то обращаться. Создали первый роутер. Но, этот route у нас просто пока возвращает результат выполнения некой функции.
Каким же образом мы можем этот route взять и связать каким-то контроллером, который будет находиться в нашем контроллере?
Для этого мы должны эту функцию
function() {
return "Hello World";
}
перенести внутрь нашего контроллера, который мы с вами создали hello controller. Как Мы это можем сделать? Для этого так как наш контроллер является классом мы должны создать в нем какой-то метод, который будет выполняться.
Например, это можно сделать таким образом.
public function index() {
return 'Hello, World';
}
В нашем контроллере появился новый метод, который просто возвращает Hello World. И теперь, как мы это делали здесь, в качестве второго аргумента для нашего роутера мы передавали функцию, мы можем теперь взять и передать этот метод этого контроллера который мы с вами создали. Этот метод index.
Давайте посмотрим, как мы это можем сделать. Для этого мы просто в качестве второго аргумента передаем массив. В этом массиве сначала мы указываем имя того контроллера, который мы хотим использовать. У нас это будет HelloController и как видите мой редактор автоматически здесь подстроил конструкцию use.
Я могу нажать show context actions и simplify fqn для того, чтобы это у нас ушло в конструкцию use. То есть это namespace нашего контроля класса нашего контроллера, но обязательно и здесь указываем в качестве второго ключа нашего массива, тот метод, который будет у нас вызываться в этом контроллере.
При обращении к этому роуту. Ну, соответственно, метод индекс пробуем снова обратиться по нашему пути greeting и получаем наш Hello world. Все работает.
Таким образом мы с вами настроили и связали наш route с методом в нашем контроллере.
Чтобы оставить сообщение, зарегистрируйтесь/войдите на сайт через:
Email - зарегистрироваться / войти