Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
11.3K subscribers
1.35K photos
20 videos
26 files
4.04K links
Все самое полезное для пхпшника в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/bca892d6

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b
Download Telegram
💬 Чем вы в основном занимаетесь после работы в свободное от работы время?

❤️ — смотрю сериалы/фильмы, читаю книги, сижу в соцсетях
👍 — занимаюсь домашними делами: убираюсь, готовлю, провожу время с детьми
🥰 — работаю над пет-проектами
🔥 — занимаюсь спортом/хобби
🤔 — а я вообще не уверен, что у меня свободное время

👇 Пишите в комментариях собственные варианты

#интерактив
61🤔53👍35🔥30🥰18
Audio
🎸💯«Идущий к реке» — rock edition

Что если бы знаменитый монолог был песней? Гадать больше не надо — на помощь приходят нейросети!

👉О том, какая именно нейросеть помогла нам это сделать, читайте в нашем новом канале — Библиотека нейрозвука

Подписывайтесь, там много интересного!
Please open Telegram to view this post
VIEW IN TELEGRAM
👏6🌚31💯1👾1
Какова цель ключевого слова «use» в пространствах имен PHP?

Псевдонимы пространств имен или классов: Позволяет задать более короткие и удобные имена для длинных пространств имен или классов. Это делает код более читаемым и кратким.

Импорт констант: Позволяет импортировать константы, определенные в пространстве имен, с помощью use:

Импорт функций (начиная с PHP 8): В PHP 8 и выше вы также можете импортировать функции из пространства имен в текущее пространство имен, используя use function.

Импорт констант (начиная с PHP 8): Аналогично, в PHP 8 и выше вы можете импортировать константы из пространства имен в текущее пространство имен с помощью use const.

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

#вопросы_с_собеседований
13👍2🥱1
Советы по оптимизации интеграционных тестов

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

Ниже перечислены основные советы из статьи:

✔️Оптимизация опкеша: Настройте опкеш для PHP для улучшения производительности при запуске тестов.

✔️Оптимизация автозагрузчика Composer: Используйте флаги при установке зависимостей через Composer для оптимизации автозагрузчика.

✔️Использование транзакций: Используйте транзакции базы данных для очистки базы данных после каждого тестового случая.

✔️Использование кеша Doctrine: Используйте статический кеш для улучшения производительности в связке с Doctrine.

✔️Использование tmpfs для базы данных в Docker: Определите tmpfs для хранения базы данных в оперативной памяти для ускорения выполнения тестов в контейнере Docker.

✔️Использование дампа базы данных вместо миграций: Вместо запуска миграций каждый раз перед тестами, используйте предварительно созданный дамп базы данных.

✔️Очистка памяти, используемой свойствами: Очищайте память, используемую свойствами после каждого тестового случая для предотвращения утечек памяти.

✔️Сборка приложения с использованием продуктовых настроек: Соберите приложение с использованием настроек, соответствующих продакшену.

✔️Использование pcov вместо xdebug для создания отчетов о покрытии кода: Отключите xdebug и используйте pcov для ускорения генерации отчетов о покрытии кода.

✔️Использование Paratest для параллельного выполнения тестов: Если ваши тесты независимы, используйте инструмент для параллельного выполнения тестов Paratest.

✔️Ускорение построения образа Docker: Сосредоточьтесь на уменьшении размера образа Docker для ускорения процесса его скачивания.

✔️Использование актуальной версии PHP: Обновляйте PHP до последней версии для исправления ошибок и улучшения производительности.

✔️Настройка тайм-аутов: Установите жесткий тайм-аут для автоматического завершения теста, если он занимает слишком много времени.

✔️Мониторинг: Отслеживайте использование памяти и время выполнения каждого теста для выявления потенциальных проблем.
🔥5👍4
«Наш путь в создании информационной системы проверок контрагентов || Laravel having no problems»

Проверка потенциальных контрагентов на благонадёжность — неотъемлемая часть ведения бизнеса. Она нужна, чтобы эффективно управлять рисками, соблюдать должную осмотрительность, исключить репутационные риски и финансовые потери.

Здесь рассказывается про систему, которая позволила оптимизировать работу по проверке контрагентов из открытых источников, и написана на Laravel
🤔2🎉1
💬 Это пост для советов

👇Поделитесь в комментариях любимыми образовательными YouTube-каналами, бесплатными курсами, которые понравились, книгами или статьями👇

#интерактив
1🎉1
PHP Monitor 7

PHP Monitor 7 это инструмент для управления локальной разработкой на PHP с использованием Homebrew. Новая версия включает в себя ряд значительных улучшений и новых функций, среди которых:

Менеджер расширений: Теперь можно легко управлять установкой и управлением расширений для различных версий PHP. Менеджер расширений позволяет быстро устанавливать необходимые расширения для каждой версии PHP, а также управлять уже установленными расширениями.

Управление расширениями через домены: PHP Monitor 7 позволяет настраивать установленные расширения для каждого проекта независимо, даже если используется изолированная версия PHP для проекта. Это упрощает управление конфигурацией расширений для различных проектов.

Переопределение языка через настройки приложения: Теперь можно выбирать язык интерфейса PHP Monitor независимо от языка операционной системы. Это позволяет легко переключаться между доступными языками интерфейса приложения.

Проверка целостности символических ссылок при запуске: PHP Monitor теперь проводит проверку на наличие устаревших версий PHP и исправляет некорректные символические ссылки при запуске, обеспечивая более стабильную работу приложения.

Улучшенный процесс обновления: Обновление до PHP Monitor 7 можно выполнить прямо из приложения, что упрощает процесс обновления для пользователей. Также возможно обновление через Homebrew, хотя это не рекомендуется.
👍4🌚2
👍 Ваш ультимативный набор шпаргалок для разработки на 2024 год

Эти шпаргалки сэкономят вам часы бесконечного гугления и упростят процесс кодинга.

🔗 Читать статью
🔗 Зеркало
👍6😁1
#дайджест новостей по PHP за неделю:

🔎Сгенерировать покрытие кода в Laravel с PCOV

🔎Symfony 7.0.6 выпущен — Вот список нововведений

🔎Неделя Symfony #900 (25-31 марта 2024 г.) — На этой неделе Symfony с большим успехом организовала конференцию Symfonylive Paris 2024. Разработчики были сосредоточены на исправлении ошибок и настройке новых функций для предстоящей версии Symfony 7.1.
1
Как использовать GitHub Actions для развертывания на несколько серверов

Здесь описывается процесс создания и настройки рабочего процесса (workflow) с использованием GitHub Actions для непрерывной доставки (continuous delivery) веб-приложения, в данном случае Laravel, на несколько серверов без простоев. Вот краткое изложение основных шагов и концепций, описанных в статье:

1️⃣Создание артефактов сборки: Задача этого шага — создать архив с кодом, готовым к развёртыванию на продакшен серверы. Включает в себя установку зависимостей NPM, компиляцию CSS и JavaScript, установку зависимостей Composer, архивирование сборки и хранение артефакта для последующего развёртывания.

2️⃣Подготовка релиза на всех серверах: Этот шаг гарантирует, что развёртывание на всех серверах будет стабильным и надёжным. Включает в себя создание директорий для хранения всех релизов, распаковку сборки на сервере, выполнение необходимых действий до развёртывания (before hooks) и активацию релиза.

3️⃣Выполнение необходимых действий перед развёртыванием (before hooks): Опциональный шаг, который позволяет выполнить определённые команды перед активацией нового релиза, такие как миграции базы данных.

4️⃣Активация релиза: Самый важный шаг, который активирует новый релиз без простоев. Включает в себя установку необходимых символических ссылок, перезагрузку PHP FPM и другие необходимые действия для обновления приложения.

5️⃣Выполнение необходимых действий после развёртывания (after hooks): Опциональный шаг, аналогичный before hooks, но выполняется после активации релиза.

6️⃣Очистка: Завершающий шаг, который удаляет устаревшие релизы и артефакты, чтобы освободить место на сервере.
👍4
💬 Как изменился ваш информационный пузырь за год?

Помните свои информационные предпочтения год назад? Многое изменилось! Социальные сети, мессенджеры, YouTube, подкасты — все эти каналы ежедневно борются за наше внимание. У каждого из нас за год сформировался свой уникальный информационный рацион. Пройдите наш опрос и расскажите, как изменились ваши вкусы в медиапотреблении.

👉 Пройти опрос

Опрос займёт у вас примерно 4 минуты.
👍7🔥1
Меняем моки репозиториев на in-memory реализации

Одним из важнейших аспектов тестирования наряду с поиском ошибок в приложении является время, необходимое для его проведения. Если тестирование приложения занимает от нескольких минут до нескольких часов, то оно не подходит для разработки с использованием быстрого цикла обратной связи (fast feedback loop), и разработчики могут проводить его не так часто, как следовало бы.
👍3
Typhoon

Система типизации и рефлексии для PHP. Она включает в себя абстракцию для статической типизации в PHP и Typhoon Reflection, альтернативу нативной рефлексии PHP.
👍10🥱3🌚1