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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b
Download Telegram
Фасады Laravel

В статье:

— Обсуждается использование фасадов Laravel и оспаривает утверждение, что они не являются настоящими фасадами, а скорее являются прокси. Она утверждает, что при правильном использовании фасадов можно добиться чистого и тестируемого кода. Автор приводит примеры того, как использовать фасады в реальном времени для упрощения тестирования и сделать код более поддерживаемым.

— В первом примере показано, как переработать вызов статического метода в вызов обычного метода с использованием фасадов в реальном времени, что облегчает тестирование без необходимости дополнительных интерфейсов или изменений кода.

— Рассматривается концепция «горячей заменяемости», используя пример диспетчеризации заданий с различными реализациями для тестирования и производственной среды. Показано, как фасады могут упростить переключение между реализациями и сделать код более адаптивным.
👍6
PHP/FI 1. Personal Home Page Tools/Forms Interpreter

История PHP начинается не с полноценного языка программирования, а с набора CGI-скриптов на C, известного как PHP/FI 1. Здесь мы возвращаемся к истокам PHP, рассматривая его первую версию, её компиляцию и функциональность.
👍7
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.

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

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

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
1👍1
Как отладить любую команду Symfony, просто передав '-x'

Подход позволяет запускать любую Symfony команду в режиме отладки, даже если она не принадлежит вашему приложению, например, команды Doctrine или стандартные команды Symfony.

Это более быстрый и удобный способ отладки команд через добавление флага -x или --xdebug при вызове команды. После обнаружения этого флага слушатель событий перезапускает команду с необходимыми переменными среды для работы xDebug, используя функцию passthru().

Структура слушателя событий детально объяснена далее. Он реализует интерфейс ConsoleEvents::COMMAND и прослушивает событие configure для всех команд. Если обнаруживается флаг -x, команда перезапускается с установленными переменными среды для xDebug.

Код слушателя включает проверки типов и корректное перезапускание команды, а также учитывает ситуации, когда команда вызывается через HelpCommand.

Такой подход делает отладку Symfony команд более удобной и быстрой, особенно при работе в командной строке.
👍7
#дайджест #phpdevjob

Вакансии PHP разработчиков уровня Junior

▪️Разработчик PHP
Удаленка. Офис в Москве. Adv.Cake — интернет-маркетинг
Подробнее

▪️PHP developer
Омск. ИТБ — услуги интернет-маркетинга
Подробнее

Вакансии PHP разработчиков уровня Middle

▪️PHP-разработчик
Удаленка. Офис в Ульяновске. Дион Софт — разработка и развитие медицинской информационной системы
Подробнее

▪️PHP разработчик
Удаленка. Офис в Москве. ВсеИнструменты — всё для дома, дачи, стройки и ремонта
Подробнее

Вакансии PHP разработчиков уровня Senior

▪️WEB-программист
Тула. Contactgroup — продвижение и разработка сайтов
Подробнее

▪️PHP разработчик
Москва. EcoFinance — развитие и внедрение продуктов онлайн-кредитования
Подробнее

Понравились вакансии?
❤️ — да
🤔 — нет
👍4
Вам предлагают очень «жирный» оффер, но каждый раз вы находите причину, чтобы остаться на текущей работе. Как быть?
Anonymous Poll
45%
Соглашусь на жирный оффер
31%
Если на текущей работе работается, зачем увольняться?
1%
Свой вариант (напишу в комментариях)
23%
Посмотреть результаты
🎉3👍1
Создание докер-образов PHP с помощью Wolfi-OS

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

Для решения этих проблем предлагается использовать Wolfi, дистрибутив Linux, специально оптимизированный для запуска в контейнерах, который предоставляет предварительно скомпилированные пакеты, минимизируя время сборки и размер образа.
🔥7
Какой шаблонизатор поддерживает Symfony?

Шаблонизатором по умолчанию в Symfony является Twig. Мы также можем использовать обычный PHP-код. Twig — это актуальный и современный шаблонизатор для PHP.

Преимущества Twig:

Быстрота: Накладные расходы на регулярный PHP-код были сведены к минимуму, так как Twig помогает компилировать шаблоны в простой оптимизированный PHP-код.

Безопасность: Twig как язык шаблонов используется в приложениях, где пользователи могут изменять дизайн шаблона. В нем есть режим «песочницы» для борьбы с недоверенным кодом шаблонов.

Гибкость: Twig позволяет разработчику задавать пользовательские теги и фильтры и создавать свой DSL, что разрешается гибким лексером и парсером twig.

#вопросы_с_собеседований
🔥4🥱3👍1🌚1
Resonance

Фреймворк, специально разработанный для создания веб-приложений с возможностями искусственного интеллекта и ML. Он основан на Swoole и имеет встроенные веб-серверы и серверы WebSocket.
🌚6👍3🤔2
😎 А если бы вы не стали разработчиком, то кем хотели бы быть?

Давайте пофантазируем. Пишите свои варианты в комментарии👇
1
Избегание ловушек при использовании Doctrine ORM: Влияние type hint'a

Описывается случай, когда тип, указанный в определении колонки, не совпадает с типом свойства в сущности, но Doctrine не выдаёт предупреждения об этом.

Для демонстрации проблемы представлен пример сущности Book, в которой тип свойства price — float, а тип колонки в базе данных — decimal. В таком случае, при использовании Doctrine, при изменении свойства price не всегда корректно определяется факт изменения значения, что может приводить к неожиданным запросам на обновление в базе данных.

Статья объясняет механизм работы Doctrine, особенно уделяя внимание классу UnitOfWork, который отслеживает изменения сущностей. Проблема возникает из-за того, что Doctrine использует операцию сравнения по идентичности при определении изменилось ли значение свойства. В результате, даже незначительные изменения могут привести к неожиданным запросам на обновление.

Для избежания таких проблем предлагается несколько подходов, таких как синхронизация типов колонок и свойств сущностей, или допуск автоматического вывода типов на основе другого.
👍5
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🎭 7 типов программистов, которых вы встретите на собеседовании

Осторожно! Данная статья носит шуточный характер и не преследует цели обидеть кого-либо. Все ситуации выдуманы, а совпадения — случайны.

🔗 Читать статью
🔗 Зеркало
🥱9👍6👏1