Может войдёшь?
Черновики Написать статью Профиль

«Перевод»

Сценарии в Laravel (шестиугольный шаблон проектирования)

перевод

Laravel традиционно является MVC-фреймворком, но MVC не слишком хорошо масштабируется для крупных проектов. Обычно, в конечном итоге получается, что логика содержится во всех секциях: моделях, представлениях и контроллерах, и по мере развития приложения его становится почти невозможно тестировать. В книге Тейлора Отвелла упоминается шаблон репозитория, но даже он не способен решить эту проблему масштабируемости. После того, как коллега показал мне статью в блоге о шестиугольном шаблоне проектирования в Rails, я решил попробовать применить его в Laravel —…

Toratoda

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

Интервью с Тейлором Отвеллом

перевод

Оригинальная статья была опубликована в марте 2013 года — прим. пер.

Laravel — это простой и изящный PHP-фреймворк, который превращает рутинную разработку в творчество.

Расскажи о себе и о своём проекте «Laravel».

Мне 26 лет, я разработчик, в настоящее время живу в своем родном штате Арканзас. Я создал Laravel — фреймворк для веб-приложений, помогающий разработчикам создавать отличные приложения, используя PHP. Сейчас это один из самых популярных открытых (open-source) PHP-проектов на Github, сообщество которого насчитывает тысячи…

Создание скрипта установки пакета

перевод

Один из основных вопросов в Laravel — как лучше устанавливать пакеты. Традиционно мы имеем неприятную часть файла readme, которая содержит подобную инструкцию:

shphp artisan config:publish rtablada/laravel-faq

Это не очень сложно, но может быть немного запутанным и длинным. Гораздо приятнее было бы иметь команду наподобие:

shphp artisan faq:config

Она короче, слаще и удобнее.

Итак, для начала мы создадим для наших команд пространство имен в консоли…

Гибкость БД пакетов Laravel - модели Eloquent

перевод

По мере того, как я начал создавать больее полнофункциональные пакетов Laravel, я понял, что хочу давать пользователям возможность задавать параметры подключения к БД, отличные от тех, которые используются по умолчанию в изначальном окружении Laravel. Один такой случай произошел, когда я начинал создавать свой пакет для FAQ. Итак, давайте посмотрим, как мы можем это сделать.

После разговора с Тэйлором я узнал, что хитрость заключается в методе PHPgetConnection, который находится в PHPIlluminate\Database\

Как создать фасад в Laravel 4

перевод

Есть три компонента при создания фасада:

  1. Корень фасада (Facade Root) — базовый класс, методы которого вызывает фасад.
  2. Класс фасада, который указывает Laravel, к какому зарегистрированному (базовому) классу он относится.
  3. Сервис-провайдер, который регистрирует базовый класс в контейнере приложения (PHPApp).

Сценарий использования

Предположим, у нас есть класс, для которого мы хотим сгенерировать фасад. Например, класс PHPFideloper\Example\UnderlyingClass.

Структура больших Laravel-приложений

перевод

При работе над большими Laravel-проектами всегда возникает вопрос: «Каким образом мне организовать весь этот код?» Многие люди начали предлагать новые пути решения данной проблемы. Довольно часто люди создают пространство имен в своих котроллерах, представлениях, составителях (view composers) и сервисе каталогов. Но для меня — это нечто паутины, состоящей из каталогов, и кричащей: «Я просто подгоняю все под MVC». Обычно я наблюдаю, как люди создают пространство имен с названиями типа API, Admin Panel и для самого сайта (Marketing). Таким образом, структура их приложения приобретает некий вид…

Стратегия уведомлений Eloquent

перевод

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

На первый взгляд это может вызвать некоторые сложности, но у меня имеется шаблон, который может решить проблему «в лоб».

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

Настраиваем вашу первую модель Laravel 4

перевод

Модель-вид-контроллер (MVC) — очень распространённый шаблон проектирования современных веб-приложений. Широкое использование и признание шаблона проектирования означает, что многие популярные фреймворки построены на основе этой архитектуры.

Laravel 4 — один из таких фреймворков, который использует шаблон проектирования MVC, чтобы аккуратно разделять между собой различные аспекты веб-приложения.

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

Два шаблона проектирования, которые сделают ваши приложения лучше

перевод

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

Шаблон репозитория

Хранилище является…

REST API в ваших пакетах

перевод

Зачастую у вас появляется желание предоставить вашим пользователям разные способы взаимодействия с вашим пакетом. Обычным решением является создать REST API к вашему пакету для обработки данных.

Изначально, я хотел получить приятный одностраничный интерфейс для Laravel-FAQ. Для этого в рамках подготовки к этому я работал над созданием гибкого REST API, который позволит добавлять реализованный функционал, когда мне это понадобиться…

Назад | ДальшеДвижется на Habravel