Представление Laravel
"Laravel гибкая и расширяемая библиотека PHP для веб разработки. Освобождая вас от спагетти кода, Laravel помогает вам создавать прекрасные приложения с помощью простого и выразительного синтаксиса. Разработка должна быть творческим процессом, который доставляет удовольствие, а не причиняет боль. Насладитесь свежим ветром."
Данный текст (на английском языке) можно найти на странице проекта Laravel и если поверить ему, то все должно быть прекрасно. Давайте проверим приведенное утверждение с помощью построения простого TODO приложения и посмотрим, насколько сложно будет процесс создания.
Миграции
Сначала создадим базу данных. Приложение использует очень простую схему, единственная таблица с 5 столбиками для хранения ID, заголовка, описания и времени, когда задача была создана или обновлялась в последний раз.
Laravel имеет инструмент, который называется миграции (вы уже можете быть знакомы с ним, если использовали библиотеки подобные Ruby on Rails). Миграции - файлы, которые используются для обновления базы данных. При выполнении они изменяют схему базы данных таким образом, что вы легко можете применить обновление.
Для нашего приложения миграция выглядит так:
<?php class Create_Todo_Table { public function up() { Schema::table("todos", function($table) { $table->create(); $table->increments("id"); $table->string("title", 20); $table->text("description"); $table->timestamps(); }); } public function down() { Schema::drop("todos"); } }
Метод up()
вызывается, когда миграция выполняется. А метод down()
вызывается для возврата в исходное состояние.
Модель
Так как Laravel использует схему MVC (модель-вид-контроллер), нам нужно создать модель. Как и в другие библиотеках MVC, модель является компонентом, который отвечает за связь с базой данных. Наша таблица проста и модель тоже будет простой:
<?php class Todo extends Eloquent { public static $timestamps = true; }
Имя класса “Todo, и Laravel автоматически ассоциирует его с таблицей todos
в базе данных. Eloquent - класс ORM для модели, который используется в Laravel. Он обеспечивает работу с объектами базы данных.
Свойство $timestamps
получает значение true, что указывает на автоматическое обновление полей created_at
и updated_at
при создании или обновлении записи соответственно.
Контроллер
Теперь создадим контроллер. В нем содержится вся логика приложения и он должен обеспечивать функционал:
- Возвращение всех записей в таблице в виде списка;
- Возвращение информации определенной записи по указанному id;
- Удаление записи по указанному id;
- Представление формы для добавления новой записи:
- Добавление новой записи в базу данных и представление сообщения о завершении операции.
Таким образом у нас будет следующий контроллер с пятью методами, которые будут вызываться для совершения действий. Объявление действия должно иметь префикс “action_”.
<?php class Todo_Controller extends Base_Controller { public function action_list() { $todos = Todo::all(); return View::make("list") ->with("todos", $todos); } public function action_view($id) { $todo = Todo::where_id($id)->first(); return View::make("view") ->with("todo", $todo); } public function action_delete($id) { $todo = Todo::where_id($id)->first(); $todo->delete(); return View::make("deleted"); } public function action_new() { return View::make("add"); } public function action_add() { $todo = new Todo(); $todo->title = Input::get("title"); $todo->description = Input::get("description"); $todo->save(); return View::make("success"); } }
Код достаточно простой и понятный. Первый метод action_list()
получает все записи в базе данных. Здесь проявляется мощь Eloquent, который облегчает задачу, используя только Todo::all() для получения данных. Затем он возвращает вид со всеми записями, связанными с переменной $todos
.
Другие методы также легко разобрать. Они выполняют манипуляции с объектом базы данных и возвращают вид со связанными данными. Последний метод может быть исключением, action_add()
вызывается при передаче формы для добавления новой записи TODO. Input::get()
используется для получения значений из переданной формы.
Вид
Теперь пришла пора заняться видом. Laravel использует собственный механизм шаблонов Blade, который дает нам простой и легко читаемый код. Мы приведем пример первого вида - список. С помощью выражения make
/with
при возвращении вида в методе action_list()
мы поместили результат работы Todo::all()
в $todos
. Теперь можно использовать ее в виде:
<h2>Todo list</h2> <p>{{ HTML::link_to_action("todo@new", "Add new todo") }}</p> <ul> @foreach($todos as $todo) <li>{{ HTML::link_to_action("todo@view", $todo->title, array($todo->id)) }} - {{ HTML::link_to_action("todo@delete", "Delete", array($todo->id)) }}</li> @endforeach </ul>
Сначала Blade создает ссылку на действие контроллера action_new()
. Затем используется выражение foreach
, которое очень похоже на оригинальное одноименное выражение PHP. Для каждой задачи мы создаем ссылку на вид записи. Вторым параметром является ссылка на текст $todo->title
, а далее следуют любые параметры действия. Нам нужен ID записи, которую надо выводить - $todo->id
. Также создаем ссылку на задачу удаления с использованием ID в качестве параметра.
Заключение
Действительно, создание приложения с помощью Laravel - простая задача. Код получается понятным и структурированным.
Возможно, представленный обзор подвигнет вас использовать Laravel для своего следующего проекта.
Источник: http://feedproxy.google.com/~r/ruseller/CdHX/~3/ypeY0ERcnBs/lessons.php


Дайджест новых статей по интернет-маркетингу на ваш email
Новые статьи и публикации
- 2025-03-14 » SPF-запись
- 2025-03-07 » SEO на маркетплейсах: как оптимизировать карточку товара для поисковой выдачи
- 2025-02-18 » Топ-10 бесплатных нейросетей для генерации изображений: лучшие ии генераторы 2024 года
- 2025-02-11 » Критическая уязвимость в 1С-Битрикс
- 2025-02-11 » Google Search Console: руководство для начинающих вебмастеров
- 2025-02-11 » Методы измерения результативности рекламных кампаний: плюсы и минусы
- 2025-02-11 » Тренды SEO в 2025 году
- 2025-02-10 » Свой Google в локалке. Ищем иголку в стоге сена
- 2025-01-29 » SEO — это комплексная работа. Шесть главных факторов ранжирования сайтов
- 2025-01-29 » Гайд для главной страницы e-commerce сайта: как оформить, чтобы повысить конверсию
- 2025-01-20 » Krea AI выпустила бесплатную функцию преобразования изображений в 3D-объекты — их можно вращать и вписывать в фотографии
- 2025-01-19 » Отзывы на Яндекс Картах: как пройти модерацию
- 2025-01-15 » Топ-6 лучших российских нейросетей, в которых можно генерировать тексты и изображения бесплатно и без VPN
- 2025-01-14 » 15 бесплатных способов узнать, чем интересуется ваша аудитория
- 2025-01-11 » Бездепозитные бонусы в казино за регистрацию с выводом: особенности и возможности получения
- 2025-01-09 » Новая модель LAM способна выполнять задачи в Word
- 2024-12-26 » Универсальный промпт для нейросети: как выжать максимум из ChatGPT, YandexGPT, Gemini, Claude в 2025
- 2024-11-26 » Капитан грузового судна, или Как начать использовать Docker в своих проектах
- 2024-11-26 » Обеспечение безопасности ваших веб-приложений с помощью PHP OOP и PDO
- 2024-11-22 » Ошибки в Яндекс Вебмастере: как найти и исправить
- 2024-11-22 » Ошибки в Яндекс Вебмастере: как найти и исправить
- 2024-11-15 » Перенос сайта на WordPress с одного домена на другой
- 2024-11-08 » OSPanel 6: быстрый старт
- 2024-11-08 » Как установить PhpMyAdmin в Open Server Panel
- 2024-09-30 » Как быстро запустить Laravel на Windows
- 2024-09-25 » Next.js
- 2024-09-05 » OpenAI рассказал, как запретить ChatGPT использовать содержимое сайта для обучения
- 2024-08-28 » Чек-лист: как увеличить конверсию интернет-магазина на примере спортпита
- 2024-08-01 » WebSocket
- 2024-07-26 » Интеграция с Яндекс Еда
Бог тянет за одну руку, а черт - за обе ноги Буш Вильгельм - (1832-1908) - немецкий поэт и художник |
Мы создаем сайты, которые работают! Профессионально обслуживаем и продвигаем их , а также по всей России и ближнему зарубежью с 2006 года!
Как мы работаем
Заявка
Позвоните или оставьте заявку на сайте.
Консультация
Обсуждаем что именно Вам нужно и помогаем определить как это лучше сделать!
Договор
Заключаем договор на оказание услуг, в котором прописаны условия и обязанности обеих сторон.
Выполнение работ
Непосредственно оказание требующихся услуг и работ по вашему заданию.
Поддержка
Сдача выполненых работ, последующие корректировки и поддержка при необходимости.
Или напишите нам в WhatsApp
Или напишите нам в WhatsApp