Основы Laravel 5
Все начинается в маршрутах. И для того чтобы создать новый маршрут - нам надо создать сущность на которую будет ссылаться маршрут. То есть надо создать новый контроллер. В phpStorm открываем терминал и выполняем следующий код:
php artisan make:controller PostController
где PostController - имя нашего контроллера.
После завершения операции в папке app/Http/Controllers появится файл PostController.php
По-умолчанию Laravel создает RESTful контроллеры. И у нас сразу имеются готовые методы index, create, store, show, edit, update, destroy.
Сделаем так чтобы главную страницу сайта формировал PostController и index() метод.
Для этого заккоментируем строку в которой мы задаем маршрут для главной страницы и напишем новую строку кода:
//Route::get('/', 'WelcomeController@index'); get('/', ['as' => 'posts', 'uses' => 'PostController@index']);
Laravel очень гибок - есть много способов решить одну и ту же задачу. Как вы видете код мы записали иначе, а задачу он выполняет ту же. Вторым параметром функции get() мы задаем массив, в котором указываем имя нашего нового Маршрута - posts и контроллер с методом которые будут формировать странцу.
Уже из написания приходит понимание что Route::get() и просто get() - создают маршрут Гет запроса.
Логично предположить что для пост запроса мы будем использовать post(). В ларавел - всё логично ))))
Для каждого экшена (под экшеном я подразумеваю метод класса который формирует определенную страницу) у нас будет свой шаблон, своё представление. В папке resources/views/ создадим папку post (одноименно с контролером для которого здесь будут храниться представления). И в этой папке создадим файл index.blade.php (так же пусть имя представления будет идентично имени метода которые формирует страницу). И заполним тестовым текстом.
Теперь нам надо в PostConroller::index() использовать наше представление:
public function index() { return view('post.index'); }
Опять всё просто и логично - надо выдать представление? Вызываем функцию view()! И передаем ей параметром ПУТЬ.ИМЯ нужного представления. (Конечно было бы еще логичнее чтобы Ларавел, если параметр не указан, сам догадывался подставить ИМЯ_КОНТРОЛЛЕРА.ИМЯ_МЕТОДА.... )))) )