Блог программиста

Цель: пассивный доход 100 тыс. руб. в мес.

Задачи:

  1. Разработка языка Cj
  2. ...
  3. ...


Также в блоге: изучаем и разрабатываем что-то новое, делимся опытом.

Подписывайтесь:
Cj - язык программирования

Новый язык программирования, для разработки сайтов и приложений, подробнее...


Спецификация:

  1. Комментарии
  2. Типы данных, переменные, функции
  3. ...

Контроллеры в Laravel

Логику обработки запросов можно реализовать в файлах маршрутов. Но более правильно вынести её в классы контроллеров. Делаем на базе предыдущего примера. Выполним:

php artisan make:controller ProductsController

Создался файл Http/Controllers/ProductsController.php с пустым классом ProductsController, порождённым от класса Controller. Вынесем логику из файла маршрутов и поместим в класс ProductsController, вот что получится:

use App;
class ProductsController extends Controller
{
    function showAll() {
        $products = App\Product::showAll();
        return view('products', ['products' => $products]);
    }

    function showAlphabetically() {
        $id = App\Product::find($id);
        return view('products', ['products' => $products]);
    }

    function showCountMore($value) {
        $products = App\Product::showCountMore($value);
        return view('products', ['products' => $products]);
    }
}

Кстати, незабудьте добавить строку "use App;", иначе не будет работать.

Но если мы вынесли логику, как нам теперь правильно прописать маршруты? Ну вот как-то так:

Route::get('products', 'ProductsController@showAll');
Route::get('products/sort', 'ProductsController@showAlphabetically');
Route::get('products/more/{value}', 'ProductsController@showCountMore');

Как мы видим, всё элементарно просто. Каждому URL мы задаём соответствующий метод класса контроллера ProductsController.

Однако на этом тема контроллеров в Laravel явно не раскрыта. Она достаточно объёмная. Пока мы рассмотрели лишь основы.


Отправить комментарий
Контакты
vk.com/sitev_ru
Skype: sitev.ru
E-mail: mike@sitev.ru
github.com/sitev

Рейтинг@Mail.ru

Besucherzahler
счетчик посещений