Telegram Web
🔧 CLI-лайфхак для PHP-разработчиков: Быстрое выполнение одноразовых команд с помощью опции -r 🚀

Полезная команда, которая позволяет выполнять небольшие фрагменты PHP-кода прямо из командной строки без создания отдельных файлов. Это особенно удобно для быстрого тестирования идей или выполнения одноразовых задач 🖥️

Как это сделать?

1. Откройте терминал на вашем компьютере.

2 Введите следующую команду, заменив код внутри одинарных кавычек на нужный вам PHP-код:
php -r 'echo «Привет, мир!\n»;'


Почему это удобно?

🔸 Быстрота: нет необходимости создавать отдельный файл для выполнения небольшого фрагмента кода.

🔸 Удобство: идеальный способ для тестирования небольших функций или выражений.

🔸 Гибкость: позволяет комбинировать PHP с другими командными инструментами для автоматизации задач.

Обратите внимание:

Экранирование кавычек: при использовании одинарных кавычек внутри PHP-кода их необходимо экранировать обратным слэшем (\'), чтобы избежать конфликтов с внешними кавычками.
php -r 'echo \'Это строка с одинарными кавычками.\' . «\n»;'


Библиотека пхпшника #буст
📣 Программисты, нужен ваш совет

Пилим крутую подборку ноутов для кодеров в 2025-м и хотим собрать реальный фидбек от тех, кто в теме!

Какой ноут спасает вас в кодинге и почему?

Расскажите все:

🔹 Что за зверь (модель, начинка)
🔹 Где жмет и где радует в ежедневной работе
🔹 На какие фишки смотреть при выборе
🔹 Как вам с ним живется

Топовые советы попадут в нашу статью. Сделаем годный гайд, который реально поможет коллегам.

💬 Делитесь в комментах
🔥 Ускоряем тесты с ParaTest

Если вы часто сталкиваетесь с медленными тестами и хоите ускорить процесс разработки, стоит попробовать ParaTest. Этот инструмент позволяет запускать тесты параллельно, что значительно сокращает время выполнения, особенно на больших проектах.

Почему стоит использовать ParaTest:
🔸 Параллельное выполнение: тесты запускаются в несколько процессов одновременно, что ускоряет их выполнение.

🔸 Преимущества для CI: особенно полезно для непрерывной интеграции — тесты запускаются быстрее, что ускоряет релизы.

🔸 Простая установка: ParaTest можно интегрировать почти как замену PHPUnit без серьезных изменений в коде.

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

Как решить:
🔹 Используй DatabaseTransactions вместо RefreshDatabase для предотвращения конфликтов в базе данных при параллельном запуске.

🔹 В случае с SQLite можно оставить стандартные настройки, так как каждая база будет независимой.

Результат:
После настройки ParaTest ты можешь увидеть ускорение в 2-10 раз, особенно на крупных проектах. Это заметно сокращает время, которое тратится на тестирование, и помогает быстрее доставлять код в продакшн.

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

🔗 Читать Статью

Библиотека пхпшника
🖥 Метрики эффективности сотрудника

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

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

Иногда стоит пересмотреть, как мы оцениваем эффективность. Потому что не все цифры отражают суть.

🔗 Подробности в статье

🐸 Библиотека джависта
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
🖥 Эволюция популярных операционных систем: 1981–2025

Разбор ключевых трендов ОС на персональных компьютерах и мобильных устройствах за последние 44 года! Как Windows уступил лидерство мобильным платформам, а Linux закрепил позиции в качестве базиса для множества систем — смотрите в видео.

➡️ Что внутри

🪟 Windows — отображены главные версии, от первых релизов до последних обновлений.

🍏 Macintosh (Classic Mac OS, OS X, macOS) — сгруппированы по поколениям без деления на подверсии.

🖥 Linux — отдельная категория с учётом популярных дистрибутивов: Ubuntu, Debian, Fedora и других.

🖥 Мобильные ОС — отражён переход с ПК на смартфоны и планшеты.

🔹 Откуда данные

1981–2000: анализ продаж ПК и опросы пользователей.

2000–2025: отчёты интернет-провайдеров и данные веб-трафика.

🔗 Оригинал с ютуба
Please open Telegram to view this post
VIEW IN TELEGRAM
Почему вы должны указывать тип данных в массивах в PHP

Статья обсуждает важность и преимущества использования типов массивов в PHP для повышения ясности кода, улучшения автодополнения в IDE и улучшения статического анализа.

👉 Читать

Библиотека пхпшника
Нужны ли PHP value objects как first-class citizen?

PHP в последние годы очень сильно поменялся. Типизация стала строже, появились enum'ы, readonly-свойства, promoted параметры в конструкторах… Но полноценной поддержки value objects (VO) — по-прежнему нет.

Хочешь передать Email, Amount или Money как обособленную сущность? Пиши класс руками. Хочешь избежать дублирования — делай свой фреймворк, или подтягивай Symfony/Doctrine компоненты. Где компактный и удобный синтаксис? Где встроенные механизмы сравнения, сериализации, валидации?

В других языках (Scala, Kotlin, Rust) это уже часть культуры. А у нас всё ещё debate.

💬 Вопрос к вам, PHP-разработчики:
— Почему, по-вашему, в PHP до сих пор нет нативной поддержки value objects?— Нужны ли они вообще как встроенная часть языка?— Может, достаточно классов и самодисциплины?

Библиотека пхпшника #междусобойчик
Instructor

Библиотека для структурированной экстракции данных на PHP, основанная на LLM. Создан для простоты, прозрачности и контроля.

Пример показывает, как инструктор извлекает структурированную информацию из предоставленного текста (или последовательности сообщений в чате).

🔗 Github

#инструменты
Метод findOrFail также принимает список идентификаторов. Если какой-либо из этих идентификаторов не найден, то он «ошибочен».

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

Библиотека пхпшника #буст
🕸 Как работает протокол HTTP/2: основные принципы и преимущества в сравнении с HTTP/1.1

​HTTP/2 — это как переход с однополосной дороги HTTP/1.1 на скоростное шоссе: быстрее, эффективнее и без пробок.

Узнайте, как новые технологии ускоряют загрузку веб-страниц и улучшают работу приложений.

➡️ Читать статью

🐸Библиотека шарписта
Please open Telegram to view this post
VIEW IN TELEGRAM
⬆️ Привязка типизированных вариаций

Знаете ли вы, что можно привязать типизированные переменные к контейнеру? Laravel поставляется с 3 методами, позволяющими вам это сделать: «when()», «needs()» и «give()» вы можете продолжать использовать DI без опасений 🚀

Библиотека пхпшника #буст
Сомневаетесь в своем прогрессе? Мы собрали 7 четких признаков того, что вы реально растете как разраб. Спойлер: дело не только в коде!

👉 Подробнее в статье
🧠 Ковариантность и контравариантность в PHP — кратко и по сути

Эти термины звучат сложно, но суть у них простая. Разработчики используют их идеи постоянно — просто не всегда знают, как это называется. Ниже — простое объяснение с примерами.

🔍 Что это такое?

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

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

Ковариантность (return types)
PHP поддерживает ковариантность только для возвращаемых значений. Примеры:

float|intint

BaseClassChildClass

ExportableExportable&Cacheable

Можно «сузить» возвращаемый тип в дочернем классе — и это будет валидно.

Контравариантность в return'ах
PHP не позволяет делать возвращаемый тип менее конкретным.
Например, int → float|int — вызовет ошибку.

Контравариантность (параметры)
А вот с параметрами всё наоборот — здесь PHP позволяет делать типы шире:

arrayarray|Collection

Traversable&CollectionCollection

EloquentCollectionCollection

Такой подход делает методы более гибкими при переопределении.

Ковариантность в параметрах
Нельзя в параметрах делать тип более конкретным, чем у родителя. Это приведёт к ошибке.

🚫 Конструкторы — отдельная история
Ковариантность и контравариантность на конструкторы не влияют. У них своя логика, и они не наследуются как обычные методы.

👉 Читать статью
Как интегрировать Laravel с Apache Kafka

Статья рассказывает о том, как интегрировать Apache Kafka с Laravel на примере реального кейса — обработка заказа в e-commerce приложении, включая оплату и обновление склада.

🔗 Читать статью

Библиотека пхпшника #буст
🧱⛏️ Чекни свой крафт: 8 признаков, что разработчик слишком залип в Minecraft

Думаешь, что твоя продуктивность падает из-за багов в коде? А может, все дело в том, что ты мысленно фармишь крипперов, пока твой PM объясняет задачу?

😎 Пройди наш тест и узнай, насколько глубоко ты провалился в пиксельную кроличью нору!

👉 Пройти тест

Библиотека пхпшника
Please open Telegram to view this post
VIEW IN TELEGRAM
2025/07/06 09:01:58
Back to Top
HTML Embed Code: