Как стать автором
Обновить
1.67

Laravel *

Бесплатный веб-фреймворк с открытым кодом

Сначала показывать
Порог рейтинга
Уровень сложности

Проектируем реактивное — Message-Driven системы на PHP

Время на прочтение 19 мин
Количество просмотров 2.3K
Блог компании OTUS PHP *Laravel *
Перевод

Цель этой статьи — показать не только зачем, но и как мы можем создавать приложения на PHP, которые будут устойчивыми, масштабируемыми и податливыми для  изменений. Статья концентрируется на разработке  бизнес-ориентированных приложений, в которых можно четко выделить бизнес-логику, процессы и потоки работ (workflows). Это квинтэссенция моего опыта, накопленного за годы работы над бизнес-ориентированным программным обеспечением в целом и в процессе создания фреймворка для обмена сообщениями Ecotone в частности.

Читать далее
Всего голосов 10: ↑9 и ↓1 +8
Комментарии 8

Новости

Простой бенчмарк для PHP приложений

Время на прочтение 5 мин
Количество просмотров 3.1K
PHP *Symfony *Yii *Laravel *Тестирование веб-сервисов *
Кейс

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

Для решения этой тривиальной задачи был выпущен пакет "Runtime Comparison", позволяющий сравнивать время выполнения кода без лишних затрат.

Читать далее
Всего голосов 11: ↑10 и ↓1 +9
Комментарии 39

Вышел PHP 8.2: разбираем главные изменения

Время на прочтение 7 мин
Количество просмотров 25K
Блог компании Хекслет Блог компании Skyeng PHP *Symfony *Laravel *

Вместе с PHP-разработчиками Александром Макаровым (@SamDark), Валентином Удальцовым (@vudaltsov) и наставником Хекслета по PHP Владленом Гилязетдиновым (@funkylen) разбираемся, какие новые фичи появились в PHP 8.2, насколько эти изменения глобальны и какую роль в них сыграл проект РHP Foundation.

Эта статья — саммари стрима YouTube-канала PHP Point. Кстати, ежегодный опрос русскоязычного PHP-сообщества с итогами года запущен! Результатами поделимся в конце января.

Читать далее
Всего голосов 49: ↑49 и ↓0 +49
Комментарии 66

Как мы провели второй русскоязычный Laravel-митап

Время на прочтение 4 мин
Количество просмотров 3.2K
Разработка веб-сайтов *PHP *Laravel *Конференции IT-компании
Из песочницы

Привет, за клавиатурой Миша Радионов, и я снова расскажу вам про Laravel. Нет, не про тонкости этого фреймворка, а про Laravel-митап, который мы провели в Студии Флаг уже во второй раз.

Читать далее
Всего голосов 9: ↑9 и ↓0 +9
Комментарии 2

Истории

Прикручиваем шаблонизатор Blitz к Laravel

Время на прочтение 4 мин
Количество просмотров 1.8K
PHP *Laravel *
Туториал

Среди некоторого количества шаблонизаторов для php есть один, который мы долгое время активно использовали и используем в своих проектах. Это Blitz, который являясь расширением, во-первых достаточно быстрый, во-вторых реализует давнюю мечту - максимальное отделение представления от логики.

Пока наши старые проекты были написаны на нативном php, пачке самописного кода и всякого «исторического наследия» проблем особых и не было. Но пришел момент когда некоторые старые куски мы решили переписать «жестко отрефакторить» и заодно влиться во вселенную Laravel. Но для ускорения процесса, перспектива переделать быстро десятки существующих шаблонов на Blade мне показалась такой себе идеей, поэтому надо было как-то прикрутить Blitz к Laravel, желательно в стиле самого Laravel. Ну типа там инсталяция в пару команд и все такое.

С другой стороны, в Blade есть некоторые фичи, которых нет в Blitz, как-то наследование шаблонов через @section/@yeld и внедрение хелперов. И было бы неплохо их добавить, для упрощения дальнейшего перехода на Blade, если будет надо. Сказано – сделано. На коленке за пару-тройку вечеров получился некий адаптер, с которым и хочу ознакомить. Собственно нижележащий текст это вольная попытка озвучить по-русски README.md, где я вообще был лаконичен как никогда

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Комментарии 71

Ресурсные контроллеры в CRUD приложении Laravel

Время на прочтение 6 мин
Количество просмотров 4K
CRM-системы *Laravel *

Привет, Хабр. В этой статье я хочу поделиться своим опытом использования ресурсных контроллеров в CRUD приложении на фреймворке Laravel - простенькой CRM. Итак начнём.

Проект опубликован как свободное ПО.

Читать далее
Всего голосов 4: ↑2 и ↓2 0
Комментарии 2

Как отправлять электронную почту через PHPMailer из приложений Laravel 8

Время на прочтение 7 мин
Количество просмотров 3.8K
PHP *Laravel *
Туториал
Из песочницы
Перевод

В данной статье описан алгоритм использования пакета PHPMailer для отправки писем из приложений Laravel 8 через SMTP серверы. PHPMailer - легкий в применении опенсорсный проект, включающий в себя большое количество фич таких как возможность множественной отправки писем, настройки параметров отправки, прикрепления вложений, а также с защитой от Header Injection атак в соответствии со стандартами безопасности.

Читать далее
Всего голосов 6: ↑1 и ↓5 -4
Комментарии 5

Перестаньте использовать SQLite в Unit-тестах

Время на прочтение 9 мин
Количество просмотров 8.7K
PHP *MySQL *SQLite *Laravel *Тестирование веб-сервисов *
Из песочницы
Перевод

TLDR; Использование Sqlite в Laravel (или любых других PHP приложениях) для Unit-тестирования может привести к false positive результатам тестов. Тот код который пройдет тесты, не заработает после переезда в production и использования других БД, например, MySQL. Вместо этого разверните тестовую БД с использованием той же технологии и движка, которые будут использоваться вашим приложением в production.

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

Один из механизмов, которые Laravel предлагает для Unit-тестов, основан на использовании базы данных SQLite . Для ускорения выполнения тестов, база данных запускается непосредственно в оперативной памяти. Такое решение работает в 95% случаев. Но, дьявол кроется в деталях, в этих 5%.

Поговорим о причинах, почему это не лучший выбор.

Читать далее
Всего голосов 15: ↑10 и ↓5 +5
Комментарии 18

Миграция Laravel Nova с PostgreSQL на CockroachDB. Наш опыт и решение

Время на прочтение 5 мин
Количество просмотров 3.4K
Блог компании Совкомбанк Технологии PHP *PostgreSQL *Администрирование баз данных *Laravel *

Часто бывает, при ближайшем рассмотрении некоторая проблема выявляет более глубокую, погружаясь в решение которой находишь для себя много интересного.

О такой ситуации на одном из наших проектов и пойдет речь.

Читать далее
Всего голосов 4: ↑3 и ↓1 +2
Комментарии 10

Как найти самый медленный запрос в приложении

Время на прочтение 5 мин
Количество просмотров 5.5K
Блог компании OTUS Программирование *Laravel *
Перевод

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

Читать далее
Всего голосов 10: ↑6 и ↓4 +2
Комментарии 4

Создание API с использованием TDD в Laravel

Время на прочтение 18 мин
Количество просмотров 8K
Блог компании OTUS PHP *Laravel *
Перевод

Привет, Artisans, меня зовут Альберто Росас, я пользуюсь Laravel уже много лет, и одна из самых полезных и стоящих вещей, которые я узнал, — это создание правильных тестовых сьютов для своих приложений. Очень приятно видеть, что тестирование все чаще практикуется в сообществе Laravel, поэтому в этой статье мы начнем с основ TDD в Laravel и продолжим тему в других статьях.

Читать далее
Всего голосов 14: ↑12 и ↓2 +10
Комментарии 3

Веб-приложение для видеотрансляций на Laravel

Время на прочтение 12 мин
Количество просмотров 3.6K
Nginx *Laravel *
Из песочницы
✏️ Технотекст 2022

Привет, Хабр. В этой статье я хочу поделиться своим опытом создания приложения на фреймворке Laravel по трансляции видеоконтента. Итак начнём.

Проект опубликован как свободное ПО

Читать далее
Всего голосов 13: ↑11 и ↓2 +9
Комментарии 4

Демо Symfony конвертер валют

Время на прочтение 5 мин
Количество просмотров 2.6K
PHP *Программирование *Symfony *Разработка под e-commerce *Laravel *
Туториал

Недавно довелось делать тестовое задание на Symfony - конвертер валют с прямой и кросс-конвертацией. Получилось весьма неплохо, поэтому хочу поделиться с сообществом примером простого консольного приложения по всем канонам Symfony: DI, autowiring, тегирование сервисов, гибкая конфигурация, вот это вот всё. Надеюсь, это будет полезно начинающим "симфонистам".

Код приложения https://github.com/vladimirmartsul/symfony-exchange-demo

Приложение считает "обмен валюты" по прямым курсам (например, USD -> EUR), а также через "промежуточные" валюты (например, BTC -> EUR). Также есть фейковые курсы для тестов.

Курсы берутся с сайтов ecb.europa.eu (основные мировые валюты по отношению к EUR) и coindesk.com (BTC к USD). Триангуляция основана на принципах отсюда http://www.dpxo.net/articles/fx_rate_triangulation_sql.html. Для хранения данных используется БД SQLite.

Читать далее
Всего голосов 7: ↑5 и ↓2 +3
Комментарии 3

PHP-Дайджест № 222/4 (26 апреля – 31 мая 2022)

Время на прочтение 5 мин
Количество просмотров 6.4K
Разработка веб-сайтов *PHP *Symfony *Yii *Laravel *

Доброго дня! Представляю вашему вниманию очередной дайджест новостей из мира PHP.

В этом выпуске: новые версии PHP, новости RFC, новости популярных фреймворков, обзор интересных статей и многое другое.

Читать далее
Всего голосов 24: ↑22 и ↓2 +20
Комментарии 5

Laravel Route Grouping: 6 Методов организации маршрутов

Время на прочтение 7 мин
Количество просмотров 7.7K
PHP *Laravel *
Из песочницы
Перевод

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

Laravel Routing - это функция, которую разработчики изучают с самого начала. Но по мере роста проектов становится все труднее управлять постоянно растущими файлами маршрутов, прокручивая их, чтобы найти нужное Route::get() объявление. К счастью, существуют методы, позволяющие сделать файлы маршрутов короче и читабельнее, группируя маршруты и их настройки по-разному. Давайте посмотрим.

Здесь мы не будем говорить только об общем простом Route::group()- это начальный уровень. Давайте погрузимся немного глубже.

Читать далее
Всего голосов 8: ↑8 и ↓0 +8
Комментарии 3

Асинхронность, конкурентность, параллельность, многопоточность — разбираемся «по понятиям» :)

Время на прочтение 15 мин
Количество просмотров 16K
PHP *Symfony *Laravel *

Эта статья представляет собой краткий (шутка!) конспект одноименного (почти) вебинара, недавно проведенного автором.

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

Ну и немного раскрыть глаза на то, что, оказывается в PHP есть и асинхронность, и многопоточность, и в общем-то не нужно ждать мифической версии PHP 10, чтобы начать их использовать уже прямо сейчас!

Лонг-рид с кодом ждёт вас!
Всего голосов 31: ↑31 и ↓0 +31
Комментарии 19

Уменьшение трафика за счёт сжатия изображений. На примере Laravel

Время на прочтение 9 мин
Количество просмотров 6.2K
PHP *Laravel *
Туториал

Как уменьшить трафик к вашему сайту в 200 раз? Возможно ли это?

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

Пример реализации на Laravel, его плюсы, минусы и возможные пути развития.

Читать далее
Всего голосов 7: ↑6 и ↓1 +5
Комментарии 26

PHP Дайджест № 222/3 (26 марта – 25 апреля 2022)

Время на прочтение 4 мин
Количество просмотров 5.9K
Разработка веб-сайтов *PHP *Symfony *Yii *Laravel *

Дисклеймер: Нет, это не дайджест авторства Романа Пронского. К сожалению, у меня нет достоверной информации - будет ли выходить его дайджест далее.

Однако я взял на себя смелость временно продолжить дело Романа и написать новый дайджест за тот месяц, что прошел с выхода последнего.

Если Роман сможет и захочет далее продолжать свой дайджест - он сам решит, как использовать мой текст: взять в свой проект, как его часть или нет. На всякий случай я ставлю нумерацию дайджеста через дробь. Однако не претендуя при этом на продолжение оригинального проекта.

Читать далее
Всего голосов 43: ↑43 и ↓0 +43
Комментарии 5

Маленький баг в тестировании на Laravel

Время на прочтение 3 мин
Количество просмотров 3.8K
Laravel *

Статья будет небольшая, даже совсем короткая. Для фанатов TDD, верящих, что фреймворки делают в небесах.

Пару часов ковырялась с тестом $response->assertJson()->assertJsonMissing(); при одинаковом содержании обеих скобок:

Читать далее
Всего голосов 16: ↑15 и ↓1 +14
Комментарии 2

Laravel: разработка пакетов

Время на прочтение 15 мин
Количество просмотров 6.2K
PHP *TDD *Laravel *
Туториал

Каждый разработчик рано или поздно сталкивается с необходимостью повторного использования собственного кода. В проектах PHP для этих целей создаются пакеты, устанавливаемые с помощью Composer. При этом пакеты могут быть абстрагированы от каких-либо фреймворков, либо могут быть предназначены для использования в конкретном PHP-фреймворке. В данной статье рассказывается о том, как создать PHP-пакеты для фреймворка Laravel, но материал будет полезен и тем, кто собирается разрабатывать любые другие PHP-пакеты (как публичные, так и приватные).

Для лучшего понимания данного материала рекомендуется ознакомиться с разделом о разработке пакетов в официальной документации Laravel. А для более детального изучения темы будет полезен данный ресурс.

Данная статья в большей мере ориентирована на начинающих разработчиков.

Читать далее
Всего голосов 11: ↑11 и ↓0 +11
Комментарии 0

Вклад авторов

Работа

PHP программист
149 вакансий