PHP-BE1
311 subscribers
340 photos
11 videos
19 files
621 links
Канал по PHP, полезный и интересный контент для всех уровней.
По вопросам сотрудничества @cyberJohnny
Download Telegram
https://habr.com/ru/articles/799019/

Руслан Гнатовский aka @Number55 в своей статье Когда ни туда, ни сюда, или в поисках оптимальной границы Domain слоя описал известную проблему протекания бизнес-логики из агрегата, в случае если эта логика зависит от данных которые находятся вне агрегата, и предложил несколько решений этой проблемы, каждое из которых не лишено недостатков. Многие из этих недостатков были описаны в статье, а также в комментариях, поэтому я не буду здесь дублировать эту информацию а попытаюсь предложить решение, которое этих недостатков лишено.

PHP-BE1
⚡️Как эффективно работать с сущностями в Битрикс24?

Узнайте на бесплатном практическом уроке «Модели данных, ORM в Битрикс24» от OTUS, где вы вместе с опытным экспертом научитесь:

☑️ создавать новую модель списка (информационного блока);
☑️ добавлять новое поле в модель;
☑️ выводить данные с использованием registerRuntimeField и ReferenceField.

🗓Встречаемся 25 марта в 17:00 мск в рамках курса «Разработчик Битрикс24». После урока у вас будет возможность стать студентом программы по специальной цене и даже в рассрочку!

👉Регистрируйтесь прямо сейчас, чтобы посетить бесплатный урок и получить запись: регистрация

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Какие из следующих способов создания массива являются правильными?
Anonymous Quiz
9%
$state[0] = "codescracker";
15%
$state = array("codescracker");
72%
Все вышеперечисленное
4%
Ничего из вышеперечисленного
https://habr.com/ru/articles/800497/

12 марта 2024, года официально вышла Laravel 11. Спустя час после этой новости я решил обновлять свой небольшой пет-проект, который сделан на Laravel 10 до 11-й версии. И вот, сейчас я поделюсь с вами тем, как я обновлялся и какие подводные камни могут быть. Погнали.

PHP-BE1
К скольким предопределенным исключениям SPL предоставляет доступ?
Anonymous Quiz
32%
13
27%
14
20%
15
22%
16
https://habr.com/ru/articles/800723/

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

PHP-BE1
Какой из следующих фильтров проверяет, существует ли переменная указанного типа?
Anonymous Quiz
21%
filter_has_var
66%
filter_var
2%
filter_id
11%
filter_var_array
https://habr.com/ru/articles/802387/

В процессе работы как с самой Joomla, так и вместе с Joomla-сообществом периодически возникали вопросы о том "какую долю рынка CMS" занимает Joomla, каким общедоступным цифрам можно доверять и насколько они точны. Также, кроме уточнения самой доли рынка хотелось получить статистику по используемым версиям Joomla.

PHP-BE1
Численно индексированный массив PHP начинается с позиции
Anonymous Quiz
99%
0
1%
1
0%
2
0%
Ничего из вышеперечисленного
Uxplaybook — мастер-класс по UX-интервью

17 микро-видео уроков, которые помогут вам успешно пройти собеседование по UX! Вы узнаете, как повысить шансы пройти собеседование и получить работу.
Проверка корректности UTF-16

Как называется метод, который проверяет, является ли строка UTF-16 корректной?
Контекстные данные для журналов Laravel

Log::withContext() - это метод в Laravel 11, который позволяет добавлять контекстные данные к журнальным записям. Вы можете использовать его для обогащения журнала информацией, связанной с текущим запросом или задачей в очереди. Например:

Log::withContext(['user_id' => $user->id])->info('User logged in');

В этом примере мы добавляем user_id в контекст журнала для записи о входе пользователя. Это полезно для отладки, мониторинга или аудита ваших приложений.
Упрощение группировки данных в JavaScript

Группировка данных в JavaScript используется для организации и категоризации данных, что облегчает их анализ и обработку.

Object.groupBy() - статический метод, который позволяет легко группировать объекты по строкам.

Пример:
const tasks = [
{ description: "Задача 1", tag: "Тег 1", project: "Проект A" },
{ description: "Задача 2", tag: "Тег 1", project: "Проект B" },
{ description: "Задача 3", tag: "Тег 2", project: "Проект A" },
];

const tasksByProject = Object.groupBy(tasks, (task) => task.project);

console.log(tasksByProject);

Результат:
{
"Проект A": [
{ description: "Задача 1", tag: "Тег 1", project: "Проект A" },
{ description: "Задача 3", tag: "Тег 2", project: "Проект A" }
],
"Проект B": [
{ description: "Задача 2", tag: "Тег 1", project: "Проект B" }
]
}

Map.groupBy() - альтернатива и используется, если ключи не строки.

Пример:
const tasksByTag = new Map().groupBy(tasks, (task) => task.tag);
Любите котиков?

❤️ - Да.

🤔 - У меня аллергия, но все равно люблю.
Трансляция анонимных событий в Laravel 11.5
https://laravel.com/docs/11.x/broadcasting#anonymous-events
@php_be1
Уязвимость в glibc/iconv
Подробнее о переполнение буфера в glibc, которое можно использовать через PHP (CVE-2024-2961). В настоящее время не существует решения этой проблемы, но существует обходной путь.
https://www.php.net/archive/2024.php#2024-04-24-1
@php_be1