PHP-BE1
310 subscribers
340 photos
11 videos
19 files
621 links
Канал по PHP, полезный и интересный контент для всех уровней.
По вопросам сотрудничества @cyberJohnny
Download Telegram
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
Совет по Laravel 💡

Метод Eloquent orderByRaw() позволяет нам передать необработанный запрос для упорядочивания результатов.
Например, сортировка по разнице между двумя столбцами.

@php_be1
Совет по Laravel 💡

Если вы хотите показать "1 комментарий", но "2 комментария" с формой множественного числа в зависимости от количества, используйте str()->plural().

Вы также можете использовать его с помощью str() или с классом Str::. На ваше усмотрение.

https://laravel.com/docs/11.x/strings#method-str-plural

👉 @php_be1
Совет по Laravel 💡

В Laravel есть функции oldestOfMany(), newestOfMany() и ofMany(), которые можно использовать для отношений hasMany.

👉 [216361195|@php_be1]
Что вы предпочтете?

А или В?

👉 [216361195|@php_be1]
Вышла Open Server Panel 6

Представляет собой, по сути, новый программный продукт, исходный код которого был написан с нуля.

Основные отличия от OSPanel 5:
Полный доступ пользователя ко всей конфигурации модулей
Управление программой в консольном режиме и через веб-интерфейс (в разработке)
Полный контроль над процессами (включая мониторинг и восстановление после сбоя)
Возможность параллельной работы любых модулей (можно включить все одновременно)
Возможность создавать профили настроек модулей (включая файлы конфигурации и данные)
Персонализация настроек для каждого домена (от IP до версии PHP)
Поддержка SSL и IPv6 без дополнительной настройки
Преднастроенная среда для каждого модуля (вплоть до входа в shell/cli одной командой)
Возможность быстрой смены текущей среды в консоли одной командой
Огромный набор сторонних расширений PHP (более 115!)
Встроенный планировщик заданий и SMTP-сервер
Корректно работающий Composer во всех модулях PHP
100% стабильность работы без багов/зависаний и проблем с кодировками
Публичный доступ ко всем настройкам/шаблонам/языкам/документации на GitHub


@php_be1
https://ospanel.io/news/
Релиз Laravel 11.7
https://github.com/laravel/framework/releases/tag/v11.7.0

+релизы:
Folio v1.1.8
Installer v5.8.0
Jetstream v5.1.0
Octane v2.3.10
Pennant v1.7.1
Pulse v1.1.0
Reverb v1.0.0-beta10
Scout v10.9.0
Socialite v5.14.0
Valet v4.6.2
@php_be1