Дисциплины - Объектно-ориентированное программирование

ООП в PHP - Фрэймворк Laravel - Контроллер

Любой запрос MVC-приложения проходит через контроллер. Кроме вывода информации на экран, за что отвечают элементы представлений и задач связанных с данными, за что отвечают классы моделей, существует множество других задач, с которыми приходится сталкиваться программисту в процессе написания кода. Для решения остальных задач предназначен контроллер.

Шаблон разработки задач с использованием контроллера:

- Создать контроллер.

- Создать для него экшн (это метод , который выводит view() либо перенаправление redirect()). 

- Создать для экшн элемент представления(ий). (При необходимости)

- Создать маршрут для экшна.

После прохождения этих этапов, остается выполнить запрос, и насладиться полученным результатом, либо ошибкой :)

Прежде всего, контроллер - это класс, содержащий экшны. Поэтому контроллер не содержащий методов с выводом (экшнов) - это пустой бессполезный класс.

Контроллеры хранятся в папке app/http/controllers/.

Все контроллеры должны наследовать класс Controller. Файл класса Controller.php также может в папке app/http/controllers, и в него можно поместить общую логику для всех остальных контроллеров.

Создаем контроллер:

php artisan make:controller BaseController

Artisan создаст пустой класс с именем BaseController.

namespace App\Http\Controllers;
use Illuminate\Http\Request;
class BaseController extends Controller
{
}

Обратите внимание на namespace (пространство имен) в начале файла. Пространство имен определяет путь к папке, в которой находится файл класса.

Контроллер - это класс, который должен содержать хотя бы один экшн. В свою очередь, экшн - это метод (или функция класса), который выводит элемент представления, либо перенаправление. Простейший экшн может выводить ответ сразу на экран (например, с помощью конструкции echo). Добавим экшн index();

namespace App\Http\Controllers;
use Illuminate\Http\Request;
class BaseController extends Controller
{
  public function index(){
   echo 'Ok';
  }
}

После разработки экшна, вызовем его через маршрутизатор (в файле /routes/web.php):

Route::get('/', 'BaseController@index');

Далее возвращаемся в контроллер, и вместо echo вызываем шаблон welcome.blade.php

  public function index(){
   return view('welcome');
  }

Количество комментариев: 0

Для того, чтобы оставить коментарий необходимо зарегистрироваться
814301 БГУИР
814302 БГУИР
814303 БГУИР
894351 БГУИР
90421 БГУИР


Изображения Видео

1. Абстрактная фабрика https://www.youtube.com/watch?v=1mVONOCxfLg
2. Фабричный метод https://www.youtube.com/watch?v=5UqUDR6_2cY
3. Шаблон декоратор https://www.youtube.com/watch?v=Lwb9bm8yKD0
4. Dessign patterns on PHP https://github.com/domnikl/DesignPatternsPHP
5. Приёмы объектно-ориентированного проектирования. Паттерны проектирования Э. Гамма, Р. Хелм, Р. Джонсон, Д. Влиссидес; [пер. с англ.: А. Слинкин науч. ред.: Н. Шалаев]. — Санкт-Петербург [и др.] : Питер, 2014. — 366 с. : ил. ; 24 см.
6. Приемы объектно-ориентированного проектирования. Паттерны проектирования Э. Гамма, Р. Хелм, Р. Джонсон, Д. Влиссидес; [пер. с англ.: А. Слинкин науч. ред.: Н. Шалаев]. — Санкт-Петербург [и др.] : Питер, 2014. — 366 с. : ил. ; 24 см.
7. Ajax http://erud.by/ajax
8. Ajax http://erud.by/ajax
9. Ajax http://erud.by/ajax
10. Документация Laravel http://laravel.com
Задание к курсовой работе
Задание к курсовой работе
Вопросы к экзамену