Please open Telegram to view this post
VIEW IN TELEGRAM
#статьи
😊 Почему вы должны указывать тип данных в массивах в PHP
Статья обсуждает важность и преимущества использования типов массивов в PHP для повышения ясности кода, улучшения автодополнения в IDE и улучшения статического анализа.
Читать
👉 Новости 👉 База вопросов
Статья обсуждает важность и преимущества использования типов массивов в PHP для повышения ясности кода, улучшения автодополнения в IDE и улучшения статического анализа.
Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👍 Instructor
Библиотека для структурированной экстракции данных на PHP, основанная на LLM. Создан для простоты, прозрачности и контроля.
Пример показывает, как инструктор извлекает структурированную информацию из предоставленного текста (или последовательности сообщений в чате).
Гитхаб
👉 Новости 👉 База вопросов
Библиотека для структурированной экстракции данных на 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.
Полезен для
🟠 Отслеживания времени выполнения команд
🟠 Измерения времени выполнения отдельных операций внутри команд
👉 Новости 👉 База вопросов
Простой трейт, который добавляет отслеживание времени выполнения к вашим консольным командам в 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) в РНР позволяет методу правильно ссылаться на класс, который его вызвал, а не на класс, в котором метод был определен. Это решает проблему статической привязки, когда используется ключевое слово
👉 Новости 👉 База вопросов
Поздняя статическая привязка (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
#полезное
📞 Привязка типизированных вариаций
Знаете ли вы, что можно привязать типизированные переменные к контейнеру? Laravel поставляется с 3 методами, позволяющими вам это сделать: «
👉 Новости 👉 База вопросов
Знаете ли вы, что можно привязать типизированные переменные к контейнеру? Laravel поставляется с 3 методами, позволяющими вам это сделать: «
when()
», «needs()
» и «give()
» вы можете продолжать использовать DI без опасений Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#статьи
🛞 Как интегрировать Laravel с Apache Kafka
Статья рассказывает о том, как интегрировать Apache Kafka с Laravel на примере реального кейса — обработка заказа в e-commerce приложении, включая оплату и обновление склада.
Читать статью
👉 Новости 👉 База вопросов
Статья рассказывает о том, как интегрировать Apache Kafka с Laravel на примере реального кейса — обработка заказа в e-commerce приложении, включая оплату и обновление склада.
Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from YeaHub
На этой неделе мы побили рекорд по количеству регистраций — и это важный для нас рубеж! 🚀 Мы не останавливаемся на достигнутом и готовим крутые обновления:
- Обновленный лендинг — станет еще информативнее и удобнее;
- Публичные страницы коллекций — делитесь своими подборками с сообществом;
- Избранное для вопросов — сохраняйте самое важное в один клик;
- Горячий режим 🔥 — для дополнительной мотивации;
- Мультипрофили — удобное переключение между аккаунтами;
- Новый сервис "Полезные ресурсы" — всё необходимое для развития в одном месте.
А еще мы будем еженедельно пополнять коллекции актуальными вопросами с собеседований по всем направлениям.
И это только начало! В планах — запуск 20+ новых сервисов для развития, нетворкинга и досуга. Оставайтесь с нами — будет ещё круче! 💪
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #Laravel
🤔 Объясните преимущества и недостатки использования фреймворка в контексте РНР.
Фреймворки ускоряют разработку благодаря готовым инструментам, следованию стандартам и встроенным решениям для типичных задач. Они облегчают поддержку и масштабирование, но могут быть избыточными для маленьких проектов, добавлять сложности и приводить к зависимости от конкретного инструмента. Выбор фреймворка зависит от задач проекта и баланса между удобством разработки и потребностями в производительности.
👉 Новости 👉 База вопросов
Фреймворки ускоряют разработку благодаря готовым инструментам, следованию стандартам и встроенным решениям для типичных задач. Они облегчают поддержку и масштабирование, но могут быть избыточными для маленьких проектов, добавлять сложности и приводить к зависимости от конкретного инструмента. Выбор фреймворка зависит от задач проекта и баланса между удобством разработки и потребностями в производительности.
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😊 Composer Package Executor
Это CLI-инструмент, который позволяет выполнять любую команду из любого Composer-пакета, даже если этот пакет не установлен в вашем проекте.
По сути, это как npx, но для Composer
Гитхаб
👉 Новости 👉 База вопросов
Это CLI-инструмент, который позволяет выполнять любую команду из любого Composer-пакета, даже если этот пакет не установлен в вашем проекте.
По сути, это как npx, но для Composer
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
#ЛитКод
Задача: 771. Jewels and Stones
Вам даны строки jewels, представляющие типы камней, которые являются драгоценностями, и stones, представляющие камни, которые у вас есть. Каждый символ в stones является типом камня, который у вас есть. Вы хотите узнать, сколько из камней, которые у вас есть, также являются драгоценностями.
Буквы чувствительны к регистру, поэтому "a" считается другим типом камня, чем "A".
Пример:
👨💻 Алгоритм:
1⃣ Создайте множество из строки jewels для быстрой проверки, является ли камень драгоценностью. Это позволит эффективно проверять принадлежность каждого камня к драгоценностям.
2⃣ Инициализируйте счетчик для подсчета количества камней, которые являются драгоценностями. Пройдите по каждому символу в строке stones и проверьте, содержится ли этот символ в множестве jewels.
3⃣ Если символ содержится в множестве, увеличьте счетчик. В конце верните значение счетчика, которое будет количеством камней, являющихся драгоценностями.
😎 Решение:
👉 Новости 👉 База вопросов
Задача: 771. Jewels and Stones
Вам даны строки jewels, представляющие типы камней, которые являются драгоценностями, и stones, представляющие камни, которые у вас есть. Каждый символ в stones является типом камня, который у вас есть. Вы хотите узнать, сколько из камней, которые у вас есть, также являются драгоценностями.
Буквы чувствительны к регистру, поэтому "a" считается другим типом камня, чем "A".
Пример:
Input: jewels = "aA", stones = "aAAbbbb"
Output: 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: компонент
Во многих Symfony-приложениях часто используют DTO-объекты для переноса данных между слоями. Например, вы можете создать DTO на основе Doctrine-сущности, изменить его с помощью Symfony Form, а затем снова замапить обновлённые данные в сущность.
Код для маппинга DTO обратно в сущность часто выглядит так:
Это утомительно и подвержено ошибкам. Поэтому в Symfony 7.3 введён новый компонент ObjectMapper для переноса данных между объектами. С его помощью предыдущий пример становится намного проще:
Подробнее
👉 Новости 👉 База вопросов
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