Сайт на Laravel. Урок 5. Контроллер

cover

Привет! Когда окружение настроено, репозиторий готов, фреймворк установлен, а вебсервер работает, пришло время начать программировать наш проект и написать первый контроллер.

Контроллер

Laravel использует архитектурную модель MVC. Следовательно и мы будем придерживаться такой модели. Тем более, что разрабатывать веб приложения таким образом действительно удобно.

Для работы приложения нам понадобятся некоторые данные о пользователях нашей группы. Мы будем собирать их из API вконтакте и хранить в базе данных.

Соответственно, мы сможем получить доступ к этим данным из наших моделей. А управление логикой приложения, обработкой данных из моделей займутся контроллеры. Отображения данных в данном случае нам не понадобится, поэтому view страниц мы делать пока не будем.

Зайдем в каталог нашего проекта, откроем терминал и создадим наш первый контроллер командой artisan.

php artisan make:controller Cover

При этом будет создан файл Cover.php в каталоге /app/Http/Controllers

Созданный контроллер будет пустым, а нам нужен хотя бы один метод внутри контроллера, чтобы использовать его в проекте.

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class Cover extends Controller{    //}

Поэтому дополним код нашим методом index

<?php
namespace App\Http\Controllers;
class Cover extends Controller{
public function index(){    
return 'This is Cover controller';
}}

Теперь метод index в контроллере Cover выведет на экран текст ‘This is Cover controller’. Но, чтобы увидеть их, нам нужно построить маршрут к этому контроллеру и методу.

Маршрут

Маршруты в laravel принимают URI из браузера пользователя и сопоставляют их с контроллерами приложения. Таким образом, чтобы при обращении, например, к корню сайта / мы бы обратились к контроллеру cover и методу index в нем.

За маршрутизацию в Laravel 8 отвечает файл /routes/web.php

Заменим стандартное замыкание с корня сайта на наш контроллер.

Route::get('/', [App\Http\Controllers\Cover::class, 'index'])->name('cover');

Теперь, если мы откроем браузер в корне сайта, мы должны будем увидеть эту надпись. Но сначала нужно загрузить файлы фреймворка на сервер.

git add --all
git commit -m 'first commit'
git push github master
 

Когда файлы зальются на гитхаб, зайдем на наш виртуальный сервер и выполним команду git pull

После синхронизации всех файлов, откроем в браузере нашей машины адрес http://192.168.0.107:8001/public/ и проверим, что контроллер срабатывает нормально.

http://192.168.0.107:8001/public/
http://192.168.0.107:8001/public/

Маршрут, cover контроллер и метод index работают как надо.

Заключение

Мы создали первый контроллер и готовы написать все необходимые функции для нашего приложения. Также нам нужно настроить сервер apache, чтобы корень сайта ссылался на папку public автоматически. Решим эти проблемы в следующий раз.

До того, как вы уйдете, посмотрите наши статьи и уроки про Ардуино. Например, подключение OLED дисплея к Ардуино.

Добавить комментарий

Ваш адрес email не будет опубликован.