Я новичок в Laravel и прохожу курс Laravel 6 с нуля в Laracasts. Курс бесплатный, но я не могу позволить себе членство в Laracasts, поэтому не могу задавать вопросы там.
Я закончил первые несколько разделов курса и немного запутался в некоторых концепциях вокруг вся ОТЛИЧНАЯ идея. Инструктор, который, кажется, очень хорошо разбирается в Laravel, описывает 7 методов, которые станут частью практически любого приложения CRUD (Create Read Update Delete) (и большинство приложений по своей природе являются CRUD.) Он говорит, что называет их Это должно соответствовать 7 методам:
- index - список всех ресурсов в коллекции, например, все статьи в блоге
- show - отображать указанный c ресурс из коллекция, например, указанная c статья в блоге
- create - создать новый экземпляр ресурса, например, добавить новую статью в блог
- store - сохранить новый экземпляр ресурса в хранилище данных, например, в базу данных
- edit - изменить содержимое существующего ресурса, например, изменить заголовок статьи
- update - сохранить измененный ресурс в хранилище данных
- destroy - удалить ресурс из коллекции, например, удалить статью в блоге
Я немного озадачен этим разделением работы на 7 отдельных методов. Мне кажется, что Create и Store принадлежат вместе в одном методе; то же самое для редактирования и обновления. Создание новой записи состоит из двух этапов: отображение пустой формы для сбора данных, необходимых для создания новой статьи, затем проверка данных и их сохранение в базе данных. Аналогичным образом, изменение существующей записи состоит из двух этапов: отображение текущих данных в форме и предоставление пользователю возможности изменять то, что необходимо изменить, затем проверка их и отправка в базу данных (или обратно пользователю для исправлений).
Я бы также сказал, что в соответствии с подходом, который они использовали для создания / хранения и редактирования / обновления, уничтожение следует разделить на два метода: уничтожить и удалить, где уничтожение отображает полную запись о том, что Пользователь хочет удалить двумя кнопками внизу: Удалить и Отменить. Затем, если пользователь нажимает кнопку Удалить, они go обращаются к методу удаления, который фактически удаляет запись f из базы данных.
Я уже довольно давно кодирую и никогда не видел системы, в которой пользователю разрешалось бы удалять любую важную запись без предварительного показа записи и не спрашивали, уверены ли они в этом. удали это. Теперь, может быть, это вышло из моды, и я не заметил, но это кажется довольно благоразумным.
Так почему же методы, какими они являются, по крайней мере, так как RESTful реализован в Laravel?