Библиотека PHP программиста 👨🏼💻👩💻
Відкрити в Telegram
Полезные материалы по PHP, Laravel, Symfony, CodeIgniter, CakePHP, Phalcon По всем вопросам @evgenycarter
Показати більше2 094
Підписники
-224 години
-47 днів
-1130 день
Архів дописів
Совет по Laravel 💡
Знаете ли вы... Во время итерации в цикле foreach внутри цикла будет доступна переменная
$loop. Эта переменная предоставляет доступ к некоторым полезным битам информации.
👉 @php_libАльтернатива Nova: почему решили перейти с самописного решения на Orchid
Привет. Меня зовут Артем, я backend-разработчик в Пиробайте. Когда я только пришел в компанию, то узнал, что команда разрабатывает административные панели на основе самописного решения, созданного внутри студии. Когда-то за основу был взят шаблон Inspinia, и для него написана переиспользуемая логика на PHP, чтобы оперативно решать задачи. На прошлом же месте я работал с Orchid, и, как мне кажется, он показывал себя с наилучшей стороны, а главное — был прост и удобен как при разработке, так и при масштабировании.
Поэтому я решил привнести немного комфорта и практичности, внедрив новую панель администратора в работу студии. Расскажу, почему Orchid — хорошая альтернатива двум другим решениям.
https://habr.com/ru/companies/pyrobyte/articles/774304/
👉 @php_lib
Pest-плагин для стресс-тестирования
Стресс-тестирование - это тип тестирования, который проверяет стабильность и надежность вашего приложения в реалистичных или экстремальных условиях - в зависимости от заданного сценария. Например, вы можете использовать стресс-тестирование для проверки того, что ваше приложение может обрабатывать большое количество запросов или что оно может обрабатывать большой объем данных.
https://pestphp.com/docs/stress-testing
👉 @php_lib
Предотвращение повторной отправки форм с помощью атомарной блокировки
Дублирование отправленных форм или запросов может быть распространенной проблемой в веб-приложениях, часто приводящей к непредвиденным последствиям. Laravel предлагает простое решение для предотвращения таких дубликатов с помощью атомарных блокировок. В этой статье мы рассмотрим реализацию атомарных блокировок для обеспечения того, чтобы отправка формы обрабатывалась только один раз. Кроме того, мы рассмотрим, как атомарные блокировки могут предотвратить диспетчеризацию одного и того же задания несколько раз.
https://daryllegion.com/preventing-duplicate-form-submissions-using-atomic-locks
👉 @php_lib
5 cоветов junior PHP Backend Developer
Специальность PHP-разработчика очень разноплановая. Но мы поможем разобраться что к чему!
Иван Орищенко, Backend Tech Lead Boosta, с шестилетним опытом в разработке, рассказал, что поможет junior специалисту сократить время на разработку, какие инструменты необходимо знать и как делать правильно и красиво.
PHP-разработка бросает тебе вызов - если ты готов принять его, удачи в изучении!
источник
👉 @php_lib
Перед вами — книга-метод, книга-наставник, способная перевернуть мышление и помочь выработать осознанный подход к работе и жизни в целом путём высокоуровневого планирования.
В своей второй книге IT-архитектор, методолог, педагог Александр Бындю раскрывает наиболее эффективный на сегодняшний день метод стратегического планирования, получивший название «Карта гипотез». Карта учит, как достигать намеченной цели через гипотезы, и служит навигатором на этом пути. В основу книги легли годы практики, и с уверенностью можно сказать, что Карта гипотез позволяет создать стратегию достижения для самых амбициозных целей.
У Карты гипотез нет ограничений по области применения или роли пользователя — она будет полезна в самых разных ситуациях, от личного планирования до планирования работы огромной компании. Автор надеется, что его метод, которому посвящена эта книга, послужит вашему благополучию во всех сферах жизни.
Ознакомиться с книгой
💡Знаете ли вы, что в PHP вы можете использовать логические операторы с реальными словами! Вместо того чтобы ломать голову над "
&&" или "||", почему бы не использовать настоящие слова?
👉 @php_libСовет по Laravel 💡
Данные загружаются быстрее, если целевое значение является целым числом.
Используйте
𝘄𝗵𝗲𝗿𝗲𝗜𝗻𝘁𝗲𝗴𝗲𝗿𝗜𝗻𝗥𝗮𝘄() вместо метода 𝘄𝗵𝗲𝗿𝗲𝗜𝗻(), чтобы быстрее загружать данные, когда целевое значение является целым числом.
👉 @php_libMiddlewares безопасности в проектах на Laravel
Сегодня мы с Вами рассмотрим два пакета, улучшающих безопасность нашего приложения. Безопасность в приоритете поэтому и тему стоит поднимать почаще. В целом я вдохновился на этот ролик после статьи от Стива Кинга на Laravel News. Будем рассматривать Middlewars и заголовки ответов.
источник
👉 @php_lib
⚡PHP-разработчик? Изучи Битрикс24 и увеличь свою ценность в команде
Прокачай необходимые навыки всего за 5 месяцев на онлайн-курсе от OTUS.
Вы научитесь:
✅ устанавливать и настраивать виртуальную машину BitrixVM с последующей быстрой установкой системы Bitrix24;
✅ кастомизировать интерфейс, компоненты системы и модули;
✅ разрабатывать свои компоненты, обработчики событий, модели данных, агенты;
✅ работать с дизайнером бизнес-процессов и др.
Все это позволит претендовать на вакантные позиции в крупных российских компаниях.
Стартуем уже 27 марта!
➡ Не упускайте возможность расширить карьерные горизонты в IT, оставьте заявку прямо сейчас: Оставить заявку
💥Бонусом получишь:
- спец. цену на курс
- доступ к открытым урокам курса
JSON to PHP
Конвертируйте значения JSON в PHP-код.
Если вы предоставите объект или массив JSON, этот инструмент сгенерирует для вас эквивалентный PHP-код.
https://ryangjchandler.co.uk/tools/json-to-php
👉 @php_lib
Как реализовать простую очередь в Symfony
Symfony - это популярный PHP-фреймворк, который предоставляет множество функций и компонентов для создания веб-приложений. Одним из таких компонентов является компонент Messenger, который позволяет отправлять и получать сообщения между различными частями вашего приложения или между различными приложениями. В этой статье мы рассмотрим, как использовать компонент Messenger для реализации простой системы очередей, используя Redis в качестве транспортного уровня.
1️⃣Установка необходимых пакетов: Используйте Composer для установки компонента Symfony Messenger и адаптера Redis.
2️⃣Настройка транспорта: Настройте подключение к серверу Redis в файле .env, указав расположение сервера и желаемое имя очереди.
3️⃣Создание сообщения и обработчика: Используйте команды Symfony console для создания классов сообщения и соответствующего обработчика. Эти классы представляют данные для отправки и логику, которая будет выполнена при получении сообщения.
4️⃣Маршрутизация сообщения к транспорту: Настройте компонент Messenger для связывания класса сообщения с желаемым транспортом в файле messenger.yaml.
5️⃣Отправка сообщения: Используйте службу MessageBusInterface для отправки сообщений из различных частей приложения, таких как контроллеры или службы.
6️⃣Получение сообщения: Используйте команду messenger:consume, чтобы запустить рабочий процесс, прослушивающий указанный транспорт и выполняющий соответствующий обработчик. Можно запускать несколько рабочих процессов параллельно для увеличения пропускной способности.
https://dev.to/daniyaljavani/how-to-implement-a-simple-queue-in-symfony-530a
👉 @php_lib
⛔До сих пор используешь модели и сущности в Битрикс24 неправильно?
Хватит работать на среднем уровне, прокачай квалификацию на бесплатном практическом уроке от OTUS, где ты научишься:
✔ создавать новую модель списка (информационного блока);
✔ добавлять новое поле в модель;
✔ выводить данные с использованием registerRuntimeField и ReferenceField.
⏰Встречаемся 25 марта в 17:00 мск в рамках курса «Разработчик Битрикс24». Доступна рассрочка на обучение!
👉Регистрируйся прямо сейчас, чтобы посетить бесплатный урок и получить запись.
Совет по Laravel 💡
Группировка контроллеров ресурсов с помощью метода "resources()" в Laravel - отличный способ сохранить ваши маршруты аккуратными и организованными, делая ваш код более чистым и поддерживаемым.
👉 @php_lib
Ускорение сайта путём выявления проблемных участков кода: xDebug + phpStorm
Статья будет полезна джунам и миддлам кто разрабатывает сайты, кто занимается оптимизацией сайтов и кто хочет посмотреть на работу php кода "с высоты". Для себя из полезного можно узнать как связать вместе OpenServer, PhpStorm и xDebug. Один раз настраиваете и можно потом запросто делать отладку. И так, начнём.
https://habr.com/ru/articles/579434/
👉 @php_lib
Практический пример декомпозиции монолитного PHP приложения
Стоит отметить, что сам по себе монолит не является антипаттерном и может отлично работать (и часто работает) при определенных условиях, обычно - когда он выбран осознанно. Но чаще всего монолитная архитектура в проекте не потому, что люди её выбрали, а потому что проект в неё естественно эволюционировал.
Прежде всего, давайте проясним, что мы имеем в виду под "декомпозицией монолита". Какая наша конечная цель? Какие могут быть бизнес-цели, побуждающие инженеров решать эту проблему?
https://habr.com/ru/articles/796223/
👉 @php_lib
Совет по Laravel 💡
Знаете ли вы, что... вы можете временно отключить
timestamps при сохранении модели?
👉 @php_libМой процесс написания пакетов для Laravel
https://dcblog.dev/my-process-for-writing-laravel-packages
👉 @php_lib
Механизмы безопасности в Laravel
Laravel - это веб-фреймворк на PHP с встроенной поддержкой практически всего, что нужно современным приложениям. Но мы не будем рассматривать все эти функции здесь. Вместо этого мы рассмотрим безопасные функции Laravel, которые могут помочь вам предотвратить болезненные ошибки.
Мы рассмотрим следующие механизмы безопасности:
Предотвращение N+1
Защита от частично гидрированных моделей
Опечатки атрибутов и переименованные столбцы
Защита от массового присвоения
Строгость модели
Принудительное выполнение полиморфного сопоставления
Мониторинг долгосрочных событий
https://habr.com/ru/articles/794348/
original https://planetscale.com/blog/laravels-safety-mechanisms
👉 @php_lib
Вже доступно! Дослідження Telegram за 2025 — головні інсайти року 
