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

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

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

Для связи: @ruslan_kuyanets
Download Telegram
#Собес #Laravel
🤔 Объясните преимущества и недостатки использования фреймворка в контексте РНР.

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

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

Это CLI-инструмент, который позволяет выполнять любую команду из любого Composer-пакета, даже если этот пакет не установлен в вашем проекте.

По сути, это как npx, но для Composer
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#ЛитКод
Задача: 771. Jewels and Stones

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

Буквы чувствительны к регистру, поэтому "a" считается другим типом камня, чем "A".

Пример:
Input: jewels = "aA", stones = "aAAbbbb"
Output: 3


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

1⃣Создайте множество из строки jewels для быстрой проверки, является ли камень драгоценностью. Это позволит эффективно проверять принадлежность каждого камня к драгоценностям.

2⃣Инициализируйте счетчик для подсчета количества камней, которые являются драгоценностями. Пройдите по каждому символу в строке stones и проверьте, содержится ли этот символ в множестве jewels.

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

😎 Решение:
class Solution {
numJewelsInStones(J, S) {
let ans = 0
for (const s of S) {
for (const j of J) {
if (j === s) {
ans++
break
}
}
}
return ans
}
}


👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😎 Новое в Symfony 7.3: компонент ObjectMapper

Во многих Symfony-приложениях часто используют DTO-объекты для переноса данных между слоями. Например, вы можете создать DTO на основе Doctrine-сущности, изменить его с помощью Symfony Form, а затем снова замапить обновлённые данные в сущность.

Код для маппинга DTO обратно в сущность часто выглядит так:
$user = new User();
$user->name = $dto->name;
$user->email = $dto->email;
$user->roles = ['ROLE_USER'];
// …


Это утомительно и подвержено ошибкам. Поэтому в Symfony 7.3 введён новый компонент ObjectMapper для переноса данных между объектами. С его помощью предыдущий пример становится намного проще:

// при создании нового объекта на основе другого
$user = $mapper->map($dto, User::class);

// при обновлении существующего объекта другим объектом
$mapper->map($dto, $user);

Подробнее

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #Laravel
🤔 Что такое маршрут (Route) в Laravel?

Маршрут в Laravel - это конечная точка, которая сопоставляется с URI (Uniform Resource Identifier). Он указывает, какую функцию или метод в контроллере нужно вызвать при определенном запросе. Также маршруты определяют, какие НТТР-методы (GET, POST и т.д.) могут быть использованы для доступа к этому URI.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🤓 Судя по результатам голосования, похоже, в PHP 8.5 появится оператор Pipe.
Смотри тут

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#новости
👍 FrankenPHP теперь официально поддерживается Фондом PHP

Репозиторий проекта будет перенесён в организацию PHP на GitHub

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👨‍💻 Ускоряем работу в PhpStorm: самые полезные хоткеи

Продолжаем рассказывать про полезные фишки шторма для начинающих. Вот подборка дополнительных возможностей, не попавших в прошлые подборки:

🟠 Ctrl + E: открыть список недавно измененных файлов.

🟠 Alt + Insert: генерация кода, например, геттеров, сеттеров или конструкторов.

🟠 Shift + F6: переименование переменной, функции или файла.

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

Обратное маршрутизирование в Laravel позволяет генерировать URL-адреса маршрутов на основе их имен. Это помогает избежать жесткой привязки к путям и делает код более гибким и читаемым.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#новости
❤️‍🔥 Новый оператор конвейера в PHP 8.5
Тык

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🫠 Задумывались, как работает загрузка файлов в PHP?

Когда пользователь отправляет файл, PHP предоставляет специальный массив $_FILES с именем, размером, типом и временным местоположением файла.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
Глобализируйте ограничения параметров маршрутов

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

B Laravel по умолчанию существуют четыре файла маршрутов: web. php для веб-маршрутов, арі.php для АР|-маршрутов, console-php для команд консоли и channel. php для каналов вещания событий.

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

Знали ли вы, что значения по умолчанию для столбцов базы данных можно задавать не только на уровне базы данных в миграциях, но и на уровне Eloquent-модели с помощью свойства $attributes?
Ссылка на документацию

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👨‍💻 Архитектура в Laravel. Как сделать код понятным и масштабируемым

Сегодня речь пойдет о теме, где нет универсальных решений, но есть проверенные практики — как организовать код в Laravel, чтобы он оставался чистым даже спустя годы развития.
Хабр

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🛞 А вы знали, что можно задать дефолтные значения полей БД не только в миграциях, но и в Eloquent-модели с помощью $attributes?

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #Laravel
🤔 Перечислите некоторые функции Laravel.

Некоторые из ключевых функций Laravel включают: встроенную защиту от CSRF, пагинацию, обратное маршрутизирование, конструктор запросов, кеширование маршрутов, миграции баз данных, промежуточное ПО для заданий, и ленивые коллекции.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#статьи
🛞 Как использовать Enums в Laravel 12

С выходом PHP 8.1 в язык пришли Enum'ы — перечисления, которые делают код чище, безопаснее и выразительнее. Laravel 12 полностью поддерживает Enums и превращает их в мощный инструмент валидации, кастов моделей и отображения данных.

Что дают Enums?

Надёжная типизация и защита от ошибок

Удобство в работе с методами (label(), color(), isFinalized())

Простое использование в Eloquent, Blade, API, валидации

Мощные кастомные методы и проверка переходов состояний

Enums становятся частью доменной логики, а не просто значениями.

В статье — примеры, практики, best practices и советы по производительности.
Medium

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🤓 RoadRunner — высокопроизводительный application server на Go. Этот проект заменяет связку Nginx+PHP-FPM, позволяя запускать PSR-7-совместимые приложения с поддержкой HTTP/3, WebSockets и даже Temporal workflow.

Конфигурация через .rr.yaml напоминает docker-compose: можно подключать очереди, кеш и метрики как плагины. Рабочие процессы PHP остаются в памяти, что даёт до 10x прирост скорости против традиционного FPM. Особенно радует встроенная система мониторинга и автоматические рестарты упавших воркеров.
Гитхаб

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