Laravel – гайд по выживанию. Nulls

Чтение книги онлайн.

Читать онлайн книгу Laravel – гайд по выживанию - Nulls страница 4

Автор:
Жанр:
Серия:
Издательство:
Laravel – гайд по выживанию - Nulls

Скачать книгу

этим в ближайшее время.

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

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

      Закрытие маршрута – это непосредственная функция, содержащая код, как показано здесь:

      Route::get('/zombie', function(){

      echo 'Greetings from the Zombie Page!';

      });

      Для действия контроллера маршрута мы указываем, какой метод контроллера следует вызвать:

      Route::get('/zombie', [ZombieController::class, 'index']);

      Обращение к /zombie вызывает метод index в ZombieController.

      Более подробно мы рассмотрим контроллеры в ближайшее время. Запомните эти различия, и они станут более понятными.

Параметры маршрута

      Иногда маршруты требуют параметров.

      Например, для просмотра конкретного зомби по адресу site.com/zombie/5 требуется включить в маршрут параметр:

      Route::get('/zombie/{id}', function($id){

      echo "You've encountered a zombie with ID: " . $id;

      });

      Если наши модели и база данных работают, то это позволит получить и отобразить информацию о конкретном зомби:

      Route::get('/zombie/{id}', function($id){

      $zombie = Zombie::find($id);

      echo 'Name: ' . $zombie->name . '<br />';

      echo 'Strength: ' . $zombie->strength . '<br />'; echo 'Health: ' . $zombie->health . '<br />';

      });

      Напоминаем, что наша настройка не завершена, поэтому данный пример пока не будет работать идеально. С учетом сказанного, в следующей теме мы рассмотрим все это вместе.

      3. Модели

      Зомби-разработчики часто используют сложные запросы, которые могут привести к плохому и зараженному коду. Как разработчик Laravel, мы должны поддерживать наши запросы сильными и здоровыми.

      Что же такое модели?

      В Laravel модель – это PHP-класс, который управляет взаимодействием между кодом вашего приложения и базой данных. Расширение класса Laravel Eloquent Model позволяет сделать эти взаимодействия простыми и понятными.

      Модель Zombie

      Возьмем, к примеру, модель Zombie, которая будет размещена по адресу /app/Models/Zombie.php:

      <?php

      namespace App\Models;

      use Illuminate\Database\Eloquent\Model;

      class Zombie extends Model {

      protected $table = 'zombies';

      }

      Этот код сообщает Laravel, что класс Zombie соответствует таблице zombies в вашей базе данных. Гипотетическая таблица zombies может выглядеть следующим образом:

      zombies table

      Совет: Laravel автоматически управляет полями updated_at и created_at, если они существуют, регистрируя временные метки для новых добавленных строк и любых обновлений. Данные поля не нужно создавать. При написании миграции достаточно добавить timestamps(), но об этом позже.

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

Скачать книгу