#статьи
🛞 Преобразование JSON в типизированные коллекции с помощью функции Laravel AsCollection::of()
Если вы когда-либо сохраняли сложные структуры данных в JSON-колонках и потом пытались с этим работать — вы знаете, как легко всё превратить в кашу из массивов. Но Laravel снова на шаг впереди. Встречайте:
Теперь можно автоматически превращать JSON-данные в коллекции объектов нужного класса. Это значит — типы, методы, читаемость и никаких костылей!
Полная статья
👉 Новости 👉 База вопросов
Если вы когда-либо сохраняли сложные структуры данных в JSON-колонках и потом пытались с этим работать — вы знаете, как легко всё превратить в кашу из массивов. Но Laravel снова на шаг впереди. Встречайте:
AsCollection::of()
Теперь можно автоматически превращать JSON-данные в коллекции объектов нужного класса. Это значит — типы, методы, читаемость и никаких костылей!
Полная статья
Please open Telegram to view this post
VIEW IN TELEGRAM
#ЛитКод
Задача: 718. Maximum Length of Repeated Subarray
Если даны два целочисленных массива nums1 и nums2, верните максимальную длину подмассива, который встречается в обоих массивах.
Пример:
👨💻 Алгоритм:
1⃣ Создайте двумерный массив для хранения длин общих подмассивов.
2⃣ Используйте динамическое программирование для нахождения максимальной длины общего подмассива.
3⃣ Итеративно обновляйте массив, сравнивая элементы обоих массивов и обновляя максимальную длину подмассива.
😎 Решение:
👉 Новости 👉 База вопросов
Задача: 718. Maximum Length of Repeated Subarray
Если даны два целочисленных массива nums1 и nums2, верните максимальную длину подмассива, который встречается в обоих массивах.
Пример:
Input: nums1 = [1,2,3,2,1], nums2 = [3,2,1,4,7]
Output: 3
function findLength($nums1, $nums2) {
$dp = array_fill(0, count($nums1) + 1, array_fill(0, count($nums2) + 1, 0));
$maxLength = 0;
for ($i = count($nums1) - 1; $i >= 0; $i--) {
for ($j = count($nums2) - 1; $j >= 0; $j--) {
if ($nums1[$i] == $nums2[$j]) {
$dp[$i][$j] = $dp[$i + 1][$j + 1] + 1;
$maxLength = max($maxLength, $dp[$i][$j]);
}
}
}
return $maxLength;
}
Please open Telegram to view this post
VIEW IN TELEGRAM
LeetCode
Maximum Length of Repeated Subarray - LeetCode
Can you solve this real interview question? Maximum Length of Repeated Subarray - Given two integer arrays nums1 and nums2, return the maximum length of a subarray that appears in both arrays.
Example 1:
Input: nums1 = [1,2,3,2,1], nums2 = [3,2,1,4…
Example 1:
Input: nums1 = [1,2,3,2,1], nums2 = [3,2,1,4…
#Собес #php
🤔 Что такое пространства имён (namespaces) в РНР?
Пространства имён в РНР позволяют группировать классы, функции и константы, чтобы избежать конфликтов имен. Они особенно полезны при интеграции сторонних библиотек. Пространства имен создаются с помощью ключевого слова
👉 Новости 👉 База вопросов
Пространства имён в РНР позволяют группировать классы, функции и константы, чтобы избежать конфликтов имен. Они особенно полезны при интеграции сторонних библиотек. Пространства имен создаются с помощью ключевого слова
namespace
.Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👋 Уязвимость в Livewire v3
https://securinglaravel.com/security-notice-livewire-v3-rce/
👉 Новости 👉 База вопросов
https://securinglaravel.com/security-notice-livewire-v3-rce/
Please open Telegram to view this post
VIEW IN TELEGRAM
Securing Laravel
Laravel Security Notice: Livewire v3 Remote Code Execution Vulnerability!
[Notice #4] Livewire v3 is vulnerable to an RCE (Remote Command Execution) during component property update hydration in specific scenarios. ⚠️ Update your Livewire ASAP! ⚠️
#полезное
😘 PHP готовится к историческому изменению лицензирования. В версии 9.0 язык перейдёт с собственных PHP License и Zend Engine License на стандартную BSD-3, что устранит давние юридические сложности. Это решение одобрено PHP Group и сейчас проходит финальное обсуждение.
Переход особенно важен для дистрибутивов Linux и open-source сообщества — новая лицензия полностью совместима с GPL. Изменения коснутся только юридических аспектов, сохранив все права разработчиков и пользователей. Интересно, что PHP начинал с GPLv2, но с третьей версии перешёл на двойное лицензирование.
Ссылка клик
👉 Новости 👉 База вопросов
Переход особенно важен для дистрибутивов Linux и open-source сообщества — новая лицензия полностью совместима с GPL. Изменения коснутся только юридических аспектов, сохранив все права разработчиков и пользователей. Интересно, что PHP начинал с GPLv2, но с третьей версии перешёл на двойное лицензирование.
Ссылка клик
Please open Telegram to view this post
VIEW IN TELEGRAM
PHP-разработчики, пишущие на JavaScript, после того как у них челюсть отвисает от того, что аналогичный функционал не идет из коробки в JS.
👉 Новости 👉 База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #php
🤔 Как отлаживать РНР-приложение?
Для отладки можно использовать встроенные функции РНР, такие как
👉 Новости 👉 База вопросов
Для отладки можно использовать встроенные функции РНР, такие как
var_dump()
и error_reporting()
, a также более сложные инструменты вроде Xdebug для работы с точками останова и трассировками. Логирование ошибок и профилирование кода также играют ключевую роль.Please open Telegram to view this post
VIEW IN TELEGRAM
#видео
😐 Вот как нужно писать на PHP
Инструменты для современного PHP сейчас реально на хорошем уровне. А значит, писать на PHP можно куда лучше, чем ты, возможно, думаешь.
Вдохновившись докладом Нуно Мадуро про современные PHP-инструменты, автор занялся обновлением своего стартового набора Fission, чтобы убедиться, что использует всё самое актуальное из того, что предлагает PHP для разработки.
И это полностью изменило его подход к написанию кода на PHP. Он нашёл идеальный стек инструментов.
https://www.youtube.com/watch?v=qkG2ybcmpZc
👉 Новости 👉 База вопросов
Инструменты для современного PHP сейчас реально на хорошем уровне. А значит, писать на PHP можно куда лучше, чем ты, возможно, думаешь.
Вдохновившись докладом Нуно Мадуро про современные PHP-инструменты, автор занялся обновлением своего стартового набора Fission, чтобы убедиться, что использует всё самое актуальное из того, что предлагает PHP для разработки.
И это полностью изменило его подход к написанию кода на PHP. Он нашёл идеальный стек инструментов.
https://www.youtube.com/watch?v=qkG2ybcmpZc
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😊 Простая конкурентность на чистом PHP
https://stancl.substack.com/p/simple-concurrency-in-vanilla-php
👉 Новости 👉 База вопросов
https://stancl.substack.com/p/simple-concurrency-in-vanilla-php
Please open Telegram to view this post
VIEW IN TELEGRAM
Substack
Simple concurrency in vanilla PHP
An overly detailed dive into forking PHP processes
#статьи
😇 MoonVibe: генератор админ-панелей на основе ИИ за 5 минут
https://habr.com/ru/articles/929268/
👉 Новости 👉 База вопросов
https://habr.com/ru/articles/929268/
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
MoonVibe: генератор админ-панелей на основе ИИ за 5 минут
Привет, друзья! Сегодня расскажу новом инструменте для MoonShine , который может серьезно изменить ваш подход к созданию админ-панелей. MoonVibe — генератор на основе LLM, который умеет создавать...
#Собес #php
🤔 Какие существуют типы ошибок в РНР?
PHP выделяет следующие основные типы ошибок: фатальные (Fatal Errors), предупреждения (Warnings), уведомления (Notices), ошибки синтаксиса (Parse Errors), устаревшие (Deprecated Errors) и строгие (Strict Errors). Каждый из них сигнализирует о разных проблемах в коде, от критических до МеНее ЗНачительных.
👉 Новости 👉 База вопросов
PHP выделяет следующие основные типы ошибок: фатальные (Fatal Errors), предупреждения (Warnings), уведомления (Notices), ошибки синтаксиса (Parse Errors), устаревшие (Deprecated Errors) и строгие (Strict Errors). Каждый из них сигнализирует о разных проблемах в коде, от критических до МеНее ЗНачительных.
Please open Telegram to view this post
VIEW IN TELEGRAM
#новости
👨💻 Релиз Laravel 12.21
https://github.com/laravel/framework/releases
👉 Новости 👉 База вопросов
https://github.com/laravel/framework/releases
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🥱 Нужно выполнить поиск по нескольким столбцам с одним и тем же условием?
Используй методы
Документация: https://laravel.com/docs/12.x/queries#where-any-all-none-clauses
👉 Новости 👉 База вопросов
Используй методы
whereAny()
, whereAll()
или whereNone()
вместо написания множества условий с OR или AND. Код станет гораздо чище и понятнее!Документация: https://laravel.com/docs/12.x/queries#where-any-all-none-clauses
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👍 Как заставить ИИ писать код по стилю
Нашёл оптимизированные для ИИ гайдлайны, специально отформатированные для Claude Code и аналогичных инструментов. Это позволяет генерировать код в соответствии со стандартами Laravel и PHP от Spatie.
Файл с гайдлайнами, адаптированными под ИИ, можно посмотреть здесь: https://spatie.be/guidelines/ai
👉 Новости 👉 База вопросов
Нашёл оптимизированные для ИИ гайдлайны, специально отформатированные для Claude Code и аналогичных инструментов. Это позволяет генерировать код в соответствии со стандартами Laravel и PHP от Spatie.
Файл с гайдлайнами, адаптированными под ИИ, можно посмотреть здесь: https://spatie.be/guidelines/ai
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #php
🤔 Как предотвратить SQL-иньекции в РНР-приложениях?
SQL-иньекций можно избежать, используя подготовленные запросы с PDO или MySQLi, которые отделяют данные от SQL-кода. Также важно валидировать и фильтровать пользовательский ввод, ограничивать права доступа к базе данных, использовать современные инструменты для работы с базой и обновлять программное обеспечение.
👉 Новости 👉 База вопросов
SQL-иньекций можно избежать, используя подготовленные запросы с PDO или MySQLi, которые отделяют данные от SQL-кода. Также важно валидировать и фильтровать пользовательский ввод, ограничивать права доступа к базе данных, использовать современные инструменты для работы с базой и обновлять программное обеспечение.
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🥄 Новое в Laravel 12.21 на этой неделе:
Теперь при запуске
Ранее Laravel показывал это только при запуске с указанием конкретного сидера через
Ссылка на PR:
https://github.com/laravel/framework/pull/56310
👉 Новости 👉 База вопросов
Теперь при запуске
php artisan db:seed
будет отображаться время выполнения.Ранее Laravel показывал это только при запуске с указанием конкретного сидера через
--class=SomeSeeder
.Ссылка на PR:
https://github.com/laravel/framework/pull/56310
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🤯 Совет по PHP: знали ли вы, что
Функция вернёт
Проверка выполняется слева направо и останавливается при первом необъявленном или
Документация: https://php.net/manual/en/function.isset.php
👉 Новости 👉 База вопросов
isset()
может принимать несколько аргументов?Функция вернёт
true
только в том случае, если все переданные переменные считаются установленными.Проверка выполняется слева направо и останавливается при первом необъявленном или
null
-значении.Документация: https://php.net/manual/en/function.isset.php
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😱 How to: миграция больших баз данных в Laravel
Статья описывает стратегию миграции больших баз данных в Laravel без простоя и с минимальным риском ошибок, подходящую для высоконагруженных приложений. Основная цель — избежать блокировок таблиц, сбоев и ошибок во время трафика, что критично для таких систем, как электронная коммерция или банковские приложения.
Основная стратегия — это метод «Double Write + Backfill», который включает несколько шагов:
1⃣ Добавление новых колонок или таблиц без удаления старых, чтобы данные продолжали работать.
2⃣ Реализация логики «двойной записи»: во время обновлений и вставок данных записываются в обе колонки (старую и новую).
3⃣ Заполнение новых данных с помощью команд Artisan для миграции существующих записей.
4⃣ Подготовка плана отката на случай ошибок.
5⃣ Переход на новую структуру после завершения миграции и перехода всех данных.
Medium
👉 Новости 👉 База вопросов
Статья описывает стратегию миграции больших баз данных в Laravel без простоя и с минимальным риском ошибок, подходящую для высоконагруженных приложений. Основная цель — избежать блокировок таблиц, сбоев и ошибок во время трафика, что критично для таких систем, как электронная коммерция или банковские приложения.
Основная стратегия — это метод «Double Write + Backfill», который включает несколько шагов:
Medium
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #php
🤔 В чем разница между методами GET и POST?
Метод GET используется для получения данных, а POST — для их отправки на сервер. Данные GET передаются через URL, a POST - в теле запроса. GET запросы кэшируются и могут быть сохранены в истории браузера, тогда как POST запросы более защищены для передачи данных.
👉 Новости 👉 База вопросов
Метод GET используется для получения данных, а POST — для их отправки на сервер. Данные GET передаются через URL, a POST - в теле запроса. GET запросы кэшируются и могут быть сохранены в истории браузера, тогда как POST запросы более защищены для передачи данных.
Please open Telegram to view this post
VIEW IN TELEGRAM