PHP Backend | YeaHub
226 subscribers
154 photos
7 videos
273 links
Теория, подготовка к интервью и курсы для PHP разработчиков

YeaHub — это платформа для IT-специалистов, объединяющая обучение, карьерный рост, развитие и сообщество единомышленников.

Платформа: https://yeahub.ru

Для связи: @ruslan_kuyanets
Download Telegram
#полезное
🤓 Prism — мост между Laravel и большими языковыми моделями. Этот пакет упрощает интеграцию LLM в Laravel-приложения, предлагая элегантный синтаксис для генерации текста и управления диалогами. С Prism разработчики могут легко добавлять ИИ-функционал — от чат-ботов до сложных многошаговых сценариев.

Инструмент поддерживает различных провайдеров ИИ через единый интерфейс. Пакет особенно полезен для создания AI-ассистентов и умных текстовых процессоров без глубокого погружения в API провайдеров.
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#полезное
❤️‍🔥 Как работают консольные команды в PHP-фреймворках

Что происходит, когда ты запускаешь php artisan migrate или php bin/console cache:clear?
Это не просто скрипт — под капотом работает полноценный консольный движок.

Вот как устроено:

- Фреймворк загружает автолоадер (Composer)
- Регистрирует все доступные команды (например, migrate, `cache:clear`)
- Парсит аргументы и флаги, определяет, что ты хочешь сделать
- Вызывает соответствующий handler, где и происходит логика выполнения

Фреймворки типа Laravel, Symfony и Yii делают это прозрачно — ты просто пишешь команды, а они превращаются в мощные CLI-инструменты.
Полное объяснение

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #mongoDB
🤔 Какие факторы следует учитывать в процессе разработки схемы MongoDB?

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

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
👋 SPX — удобный профилировщик

Простое и понятное расширение для профилирования PHP со встроенным веб-интерфейсом. От других подобных расширений оно отличается тем, что:

🟠полностью бесплатное и ограниченное вашей инфраструктурой (т.е. никаких утечек данных в SaaS).
🟠Очень прост в использовании: просто установите переменную окружения (командная строка) или включите радиокнопку (веб-запрос) для профилирования вашего скрипта. Таким образом, вы освобождаетесь от необходимости ручного инструментирования кода (поддерживается даже Ctrl-C долго работающего скрипта командной строки).
🟠возможность получения множества метрик: в настоящее время поддерживается 22 метрики (различные метрики времени и памяти, включенные файлы, используемые объекты, ввод-вывод...).
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #mongoDB
🤔 Что такое шардирование в MongoDB?

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

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👨‍💻 Как использовать сервисные классы в контроллере Laravel?

А точнее — где их определять или внедрять?

Моё правило:

🟠Если сервис используется в одном методе контроллера — внедрение в метод

🟠Если в нескольких методах — внедрение через конструктор с использованием property promotion

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #php
🤔 Как работает автозагрузка в РНР?

Автозагрузка в РНР позволяет автоматически загружать классы по мере их необходимости, без использования include ИЛИ require. Основной механизм - это функция spl_autoload register() , которая регистрирует функцию для автозагрузки. Кроме того, стандарт PSR-4, поддерживаемый Composer, организует автозагрузку классов, следуя определённой структуре каталогов и именования.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🤯 PHP намерены перевести на лицензию BSD-3, совместимую с GPL

Разработчики языка программирования PHP планируют перевести интерпретатор PHP и движок Zend Engine с лицензий PHP License и Zend Engine License на 3-пунктовую лицензию BSD. Переход на 3-пунктовую лицензию BSD упростит условия лицензирования, унифицирует лицензии для PHP и Zend Engine, обеспечит совместимость с GPL и решит давние проблемы, сохранив при этом все права пользователей и разработчиков. Смену лицензии намерены произвести в выпуске PHP 9.0, который может быть сформирован в следующем году. Все члены PHP Group одобрили смену лицензии и в настоящее время данное предложение выставлено на общее обсуждение.

https://www.opennet.ru/opennews/art.shtml?num=63580

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#статьи
🛞 Преобразование JSON в типизированные коллекции с помощью функции Laravel AsCollection::of()

Если вы когда-либо сохраняли сложные структуры данных в JSON-колонках и потом пытались с этим работать — вы знаете, как легко всё превратить в кашу из массивов. Но Laravel снова на шаг впереди. Встречайте: AsCollection::of()

Теперь можно автоматически превращать JSON-данные в коллекции объектов нужного класса. Это значит — типы, методы, читаемость и никаких костылей!
Полная статья

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#ЛитКод
Задача: 718. Maximum Length of Repeated Subarray

Если даны два целочисленных массива nums1 и nums2, верните максимальную длину подмассива, который встречается в обоих массивах.

Пример:
Input: nums1 = [1,2,3,2,1], nums2 = [3,2,1,4,7]
Output: 3


👨‍💻 Алгоритм:

1⃣Создайте двумерный массив для хранения длин общих подмассивов.

2⃣Используйте динамическое программирование для нахождения максимальной длины общего подмассива.

3⃣Итеративно обновляйте массив, сравнивая элементы обоих массивов и обновляя максимальную длину подмассива.

😎 Решение:
function findLength($nums1, $nums2) {
$dp = array_fill(0, count($nums1) + 1, array_fill(0, count($nums2) + 1, 0));
$maxLength = 0;
for ($i = count($nums1) - 1; $i >= 0; $i--) {
for ($j = count($nums2) - 1; $j >= 0; $j--) {
if ($nums1[$i] == $nums2[$j]) {
$dp[$i][$j] = $dp[$i + 1][$j + 1] + 1;
$maxLength = max($maxLength, $dp[$i][$j]);
}
}
}
return $maxLength;
}


👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #php
🤔 Что такое пространства имён (namespaces) в РНР?

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

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😘 PHP готовится к историческому изменению лицензирования. В версии 9.0 язык перейдёт с собственных PHP License и Zend Engine License на стандартную BSD-3, что устранит давние юридические сложности. Это решение одобрено PHP Group и сейчас проходит финальное обсуждение.

Переход особенно важен для дистрибутивов Linux и open-source сообщества — новая лицензия полностью совместима с GPL. Изменения коснутся только юридических аспектов, сохранив все права разработчиков и пользователей. Интересно, что PHP начинал с GPLv2, но с третьей версии перешёл на двойное лицензирование.
Ссылка клик

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
PHP-разработчики, пишущие на JavaScript, после того как у них челюсть отвисает от того, что аналогичный функционал не идет из коробки в JS.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #php
🤔 Как отлаживать РНР-приложение?

Для отладки можно использовать встроенные функции РНР, такие как var_dump() и error_reporting() , a также более сложные инструменты вроде Xdebug для работы с точками останова и трассировками. Логирование ошибок и профилирование кода также играют ключевую роль.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#видео
😐 Вот как нужно писать на PHP

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

Вдохновившись докладом Нуно Мадуро про современные PHP-инструменты, автор занялся обновлением своего стартового набора Fission, чтобы убедиться, что использует всё самое актуальное из того, что предлагает PHP для разработки.

И это полностью изменило его подход к написанию кода на PHP. Он нашёл идеальный стек инструментов.

https://www.youtube.com/watch?v=qkG2ybcmpZc

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM