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

Статьи

Создание отчетов в Laravel

report

Доброе время суток, коллеги!

Сегодня я хотел рассказать о своем пакете для генерации отчетов.

Собственно, что означает слово "отчет"?

Возможно, в вашей системе есть административная панель и ей пользуются дотошные администраторы или менеджеры.

Часто они просят вас выгружать статистические данные, возможно в Excel или PDF, может в более извращенный формат файлов.

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

Но остаются такие проблемы как:

  • создание UI
  • оформление структуры
  • архитектура
  • и чтоб все свистело и крутилось
  • а само может?

Да, я решил создать некое решение, сбрасывая часть проблем в этом направлении…

Создание вида "на лету"

Виды

Хочу представить на ваш суд мой первый пакет для Laravel. Его высшее предназначение в том, чтобы генерировать виды из кода "на лету". Поясню, что кроется за этой загадочной фразой.

Все виды в Laravel хранятся в файлах. Одно дело, когда вид отвечает за страницу. А когда он нужен в качестве шаблона HTML элемента? Ну накой создавать для этого отдельный файл? Это ещё и лишняя операция чтения.

Сами-то мы из MODX-овских будем. А там вошло в привычку использование INLINE шаблонов без создания чанков. И вот в моём проекте на Laravel понадобилось создать несколько маленьких видов для li и button элементов. Решил использовать…

MedVedZot

Привет Сергей. Приятно видеть вас и в Laravel. В modx постоянно читал ваши посты и комменты, нужные и полезные они.

Уведомления

перевод документация 5.х

Этот перевод актуален для англоязычной документации на (ветка 5.3). Опечатка? Выдели и нажми Ctrl+Enter.

Введение

Вдобавок к поддержке отправки email Laravel поддерживает отправку уведомлений по разным каналам доставки, включая почту, SMS (через Nexmo) и Slack. Уведомления также можно сохранять в БД, чтобы выводить их в вашем веб-интерфейсе.

Обычно уведомления — это короткие информационные сообщения для пользователей о том…

Хорошие практики Laravel: соглашения об именовании

Best practices Хорошие практики

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

Что Правило Принято Не принято
Контроллер ед. ч. ArticleController ArticlesController
Маршруты мн. ч. articles/1 article/1
Имена маршрутов snake_case users.show_active users.show-active, show-active-users
Модель ед. ч. User Users
Отношения hasOne и belongsTo ед. ч. articleComment articleComments, article_comment
Все остальные отношения мн. ч. articleComments articleComment, article_comments
code_bright_anywhere

По первому пункту не согласен.

А где вообще кстати источник? со всем остальным согласен, за исключением контроллеров. Cледуя архитектуре REST, (которая безусловно является best practices для ларавел) мы рассматриваем сущности нашего приложения как Resources.
Ресурс — Articles
Ресурс — Books
Ресурс — Orders

и тд.

Если попытаться обработать контроллер с точки зрения восприятия его человеческой логики, и, рассматривая сущности как ресурсы, то в случае именования контроллера как ArticleController, и попытке вызвать метод индекс, мы говорим, мы хотим получить список ресурсов — множественное число. ну и вообще, если рассматривать контроллер как инструмент работы с ресурсами, то просится множественное число. В единственном числе вообще не встречал ни разу)

Вещание событий

перевод документация 5.х

Этот перевод актуален для англоязычной документации на (ветка 5.3). Опечатка? Выдели и нажми Ctrl+Enter.

Введение

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

Для помощи в создании таких приложений Laravel обеспечивает простую настройку…

Тестирование приложения

перевод документация 5.х

Этот перевод актуален для англоязычной документации на (ветка 5.3). Опечатка? Выдели и нажми Ctrl+Enter.

Введение

Laravel предоставляет очень удобный API для создания HTTP-запросов к вашему приложению, проверки вывода, и даже заполнения форм. Например, посмотрим на приведённый тест:

PHP
<?php

use Illuminate\Foundation\Testing\WithoutMiddleware;
use 
Illuminate\Foundation

Тестирование БД

перевод документация 5.х

Этот перевод актуален для англоязычной документации на (ветка 5.3). Опечатка? Выдели и нажми Ctrl+Enter.

Введение

Laravel предоставляет множество полезных инструментов для тестирования ваших приложений, использующих БД. Во-первых, вы можете использовать вспомогательный метод PHPseeInDatabase() для проверки того, что данные в БД соответствуют определённому набору критериев. Например, если вы хотите проверить, что в таблице users есть запись с полем email равным sally@example.com, вы можете сделать следующее:

Хорошие практики Laravel: принцип единственной ответственности (Single Responsibility Principle)

Best practices Хорошие практики

Небольшое вступление

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

VolCh

Правильное направление. Но полностью до SRP ещё далеко. Например, наличие в сервисе вызовов \request() говорит об отвественности сервиса парсить суперглобалы. Да ещё с помощью не очень явной зависимости.

Заглушки

перевод документация 5.х

Этот перевод актуален для англоязычной документации на (ветка 5.3). Опечатка? Выдели и нажми Ctrl+Enter.

Введение

При тестирование Laravel-приложений иногда нужно «заглушить» некоторые части приложения, чтобы во время тестирования они на самом деле не работали. Например, при тестировании контроллера, создающего события, можно заглушить слушателей событий, чтобы они не выполнились во время теста. Это позволит вам протестировать только HTTP-отклик контроллера, не беспокоясь о выполнении слушателей событий, которые можно протестировать отдельно.

В Laravel…

Предел возможностей Laravel Mix

В своих вопросах на форуме я уже неоднократно высказывал недовольство в адрес Laravel Elixir и Lavarel Mix, но эксперты Laravel настойчиво рекомендуют использовать именно эти инструменты. В первую очередь я критикую указаные выше инструменты за отсутствие гибкости и сложности в пользовательских настройках. Я думаю, этим инструментам не по зубам то, что я делаю спомощью gulp и webpack, но это лишь мои предположения и я могу ошибаться. В этой статье, я бы хотел вместе с опытными пользователями Laravel Mix сравнить данный инструмент с возможностями нативных gulp и webpack и узнать предел возможностей Laravel Mix.

xardch

Image alt

почему в beautify нельзя сразу указать false?

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