Библиотека пхпшника | 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
#хочу_спросить

Задавайте любые вопросы о программировании и получайте ответы от пользователей. В комментариях под постом укажите #язык, #стек и/или #библиотеку, по которым задаете вопрос.
❤‍🔥1
#дайджест #phpdevjob

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

▪️Разработчик PHP
Тюмень. Восток.Софт — разработка ПО
Подробнее

▪️PHP-программист
Удаленка. Офис в Барнауле. ИНЛАЙН — разработка и развитие интернет-сервисов в сфере B2B
Подробнее

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

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

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

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

▪️PHP-разработчик
Удаленка. Офис в Москве. АЙТИ.СПЕЙС — разработка, внедрение и сопровождение ПО
Подробнее

▪️Ведущий разработчик PHP
Удаленка. Офис в Москве. Dex — разработка мобильных приложений и web-сервисов
Подробнее

Понравились вакансии?
❤️ — да
🤔 — нет
😁7👍4🥱3🔥1
Финализация классов

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

Сначала обсуждается преимущества применения ключевого слова final в классах, а также проблем, с которыми сталкиваются инструменты статического анализа кода, такие как Rector, при попытке автоматизировать процесс финализации классов. Затем переходит к обсуждению необходимости автоматизации этого процесса, особенно в случае больших проектов с большим количеством классов.

Далее представлен инструмент Swiss Knife, который позволяет автоматически обнаруживать и финализировать классы в проекте, учитывая различные сценарии, такие как классы-родители, сущности Doctrine, классы, которые могут быть промокированы в тестах, и т. д.
2
Реализация кэширования с Redis

В этом видео показано как реализовать кэширование на живом примере.
👏71👍1
ComposerRequireChecker

Инструмент CLI для проверки того, использует ли конкретный пакет composer импортированные символы, которые не входят в его прямые зависимости от composer.
👍4
Как реализовать паттерн проектирования «Адаптер» на PHP, и какие распространенные случаи его использования?

В PHP вы можете реализовать паттерн «Адаптер», чтобы обеспечить работу несовместимых интерфейсов вместе.

В нашем примере:

Adaptee — класс с несовместимым интерфейсом.
Target — интерфейс, ожидаемый клиентом.
Adapter — класс, который адаптирует Adaptee к интерфейсу Target.

Распространенные случаи использования паттерна Адаптер включают:

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

#вопросы_с_собеседований
🔥16👍81
Фасады 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