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

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

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

Для связи: @ruslan_kuyanets
Download Telegram
#полезное
😎 Ошибки неизбежны в любом приложении — они всегда будут возникать на вашем пути.

Поэтому все языки программирования предоставляют трассировку стека и сообщение об ошибке, чтобы вы могли отладить код и выяснить коренную причину проблемы.

Но иногда такие сообщения могут непреднамеренно раскрывать конфиденциальные данные вашего приложения.

Именно по этой причине в PHP был введён атрибут SensitiveParameter, чтобы вы могли скрыть такие параметры из трассировки стека и логов ошибок.

Смотрите пример выше

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😊 Совет по Laravel

Используйте Route::resource('photos.comments', CommentController::class), чтобы автоматически сгенерировать ВЛОЖЕННЫЕ маршруты ресурсов.

Шаблон URL будет таким: /photos/{photo}/comments/{comment}
Ссылка на документацию

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#ЛитКод
Задача: 713. Subarray Product Less Than K

Если задан массив целых чисел nums и целое число k, верните количество смежных подмассивов, в которых произведение всех элементов в подмассиве строго меньше k.

Пример:
Input: nums = [10,5,2,6], k = 100
Output: 8


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

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

2⃣Перемещайте правый указатель по массиву и умножайте текущий элемент на текущее произведение. Если произведение становится больше или равно k, перемещайте левый указатель, уменьшая произведение до тех пор, пока оно снова не станет меньше k.

3⃣Подсчитайте количество подмассивов с текущим правым указателем, добавив к общему количеству допустимых подмассивов разницу между правым и левым указателями.

😎 Решение:
function numSubarrayProductLessThanK($nums, $k) {
if ($k <= 1) return 0;
$product = 1;
$count = 0;
$left = 0;
for ($right = 0; $right < count($nums); $right++) {
$product *= $nums[$right];
while ($product >= $k) {
$product /= $nums[$left];
$left++;
}
$count += $right - $left + 1;
}
return $count;
}


👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес
🤔 Расскажите про все методы Promise?

Основные методы промиса включают: then() - для обработки успешного выполнения, catch() - для обработки ошибок, finally() - для выполнения кода по завершению промиса, независимо от результата. Есть также методы Promise.all(), Promise.race(), Promise.allSettled() И Promise.any() , которые позволяют работать с несколькими промисами одновременно.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#статьи
🤯 Наблюдатели и Слушатели в Laravel — в чём разница?
Читать тут

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#статьи
❤️‍🔥 Метрики эффективности сотрудника

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

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

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

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

Cookies в PHP устанавливаются через функцию setcookie(), а сессии - с помощью функции session_start() . Cookies хранят данные на стороне клиента, а сессии - на сервере. Для работы с сессиями используются суперглобальные массивы $_SESSION , а для работы с cookies - $_соокЕ .

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#статьи
😊 Почему вы должны указывать тип данных в массивах в PHP

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

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👍 Instructor

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

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

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

Магические методы в РНР - это методы с особыми именами, которые автоматически вызываются при определенных действиях с объектами, например, при создании объекта, доступе к недоступным свойствам или вызове несуществующих методов. Примеры включают _construct() , _get(), _set(), _call() , и другие.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😬 Новый пакет: Laravel Console Timer

Простой трейт, который добавляет отслеживание времени выполнения к вашим консольным командам в Laravel.

Полезен для

🟠Отслеживания времени выполнения команд

🟠Измерения времени выполнения отдельных операций внутри команд

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#новости
🛞 В PHP 8.5 появятся две новые функции для работы с массивамиarray_first() и array_last() — для удобного получения соответственно первого и последнего значения массива
Подробнее

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

Нужно жадно загрузить связи, но при этом выбрать только определённые столбцы?

Используйте метод with() с указанием нужных столбцов, чтобы сократить использование памяти и размер запроса при работе с большими объёмами данных.
Ссылка на документацию

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес
🤔 Что такое поздняя статическая привязка (Late Static Binding) ?

Поздняя статическая привязка (LSB) в РНР позволяет методу правильно ссылаться на класс, который его вызвал, а не на класс, в котором метод был определен. Это решает проблему статической привязки, когда используется ключевое слово self , и позволяет методам вести себя корректно в контексте наследования.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😵‍💫 Метод findOrFail также принимает список идентификаторов. Если какой-либо из этих идентификаторов не найден, то он «ошибочен».

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

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👍 Вы можете просто вложить блок match в PHP, если вам нужна немного большая точность для группы совпадений

Это аккуратно, чисто и очень читаемо.

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

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

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