Контроллеры в Laravel
Как правило маршруты, создаваемые в файле
routes/web.php, не будут сами обрабатывать
запрос, а отправят его на определенное
действие заданного контроллера.
Контроллеры размещаются в папке
app/Http/Controllers/.
Давайте для примера сделаем контроллер
PostController.
Для этого в папке с контроллерами создадим файл с классом контроллера, подчиняющийся правилам автозагрузки классов.
Нашему контроллеру соответствует файл
PostController.php. Давайте создадим
его и разместим в нем следующий код:
<?php
namespace App\Http\Controllers;
class PostController extends Controller
{
}
?>
Давайте теперь создадим действие, то есть метод нашего контроллера:
<?php
namespace App\Http\Controllers;
class PostController extends Controller
{
public function show()
{
return 'hello world';
}
}
?>
В одном контроллере может быть несколько действий:
<?php
namespace App\Http\Controllers;
class PostController extends Controller
{
public function show()
{
return 'one post';
}
public function all()
{
return 'all posts';
}
}
?>
Таким образом у нас есть контроллер и его действия. В следующем уроке мы научимся делать так, чтобы по обращению к определенному URL вызывалось заданное действие контроллера.
Создайте контроллер UserController
и в нем сделайте действие show.
В том же контроллере сделайте действия
all и info. Пусть каждое
возвращает свой текст.
Создайте контроллер PageController
с действиями show1, show2
и show3.