#Собес #php
🤔 Как работает автозагрузка в РНР?
Автозагрузка в РНР позволяет автоматически загружать классы по мере их необходимости, без использования
👉 Новости 👉 База вопросов
Автозагрузка в РНР позволяет автоматически загружать классы по мере их необходимости, без использования
include ИЛИ require. Основной механизм - это функция spl_autoload register() , которая регистрирует функцию для автозагрузки. Кроме того, стандарт PSR-4, поддерживаемый Composer, организует автозагрузку классов, следуя определённой структуре каталогов и именования.Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🤯 PHP намерены перевести на лицензию BSD-3, совместимую с GPL
Разработчики языка программирования PHP планируют перевести интерпретатор PHP и движок Zend Engine с лицензий PHP License и Zend Engine License на 3-пунктовую лицензию BSD. Переход на 3-пунктовую лицензию BSD упростит условия лицензирования, унифицирует лицензии для PHP и Zend Engine, обеспечит совместимость с GPL и решит давние проблемы, сохранив при этом все права пользователей и разработчиков. Смену лицензии намерены произвести в выпуске PHP 9.0, который может быть сформирован в следующем году. Все члены PHP Group одобрили смену лицензии и в настоящее время данное предложение выставлено на общее обсуждение.
https://www.opennet.ru/opennews/art.shtml?num=63580
👉 Новости 👉 База вопросов
Разработчики языка программирования PHP планируют перевести интерпретатор PHP и движок Zend Engine с лицензий PHP License и Zend Engine License на 3-пунктовую лицензию BSD. Переход на 3-пунктовую лицензию BSD упростит условия лицензирования, унифицирует лицензии для PHP и Zend Engine, обеспечит совместимость с GPL и решит давние проблемы, сохранив при этом все права пользователей и разработчиков. Смену лицензии намерены произвести в выпуске PHP 9.0, который может быть сформирован в следующем году. Все члены PHP Group одобрили смену лицензии и в настоящее время данное предложение выставлено на общее обсуждение.
https://www.opennet.ru/opennews/art.shtml?num=63580
Please open Telegram to view this post
VIEW IN TELEGRAM
www.opennet.ru
PHP переходит на лицензию BSD-3, совместимую с GPL
Разработчики языка программирования PHP планируют перевести интерпретатор PHP и движок Zend Engine с лицензий PHP License и Zend Engine License на 3-пунктовую лицензию BSD (BSD-3). Переход на лицензию BSD-3 упростит условия лицензирования, унифицирует лицензии…
#статьи
🛞 Преобразование 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