#Собес
🤔 Как используется наследование в РНР?
Наследование в РНР позволяет одному классу (подклассу) наследовать методы и свойства другого класса (родительского класса). Это позволяет повторно использовать код и создавать иерархические связи между классами, где подклассы могут расширять или изменять функциональность родительского класса, сохраняя при этом общие черты.
👉 Новости 👉 База вопросов
Наследование в РНР позволяет одному классу (подклассу) наследовать методы и свойства другого класса (родительского класса). Это позволяет повторно использовать код и создавать иерархические связи между классами, где подклассы могут расширять или изменять функциональность родительского класса, сохраняя при этом общие черты.
Please open Telegram to view this post
VIEW IN TELEGRAM
YeaHub
YeaHub — тренажер собеседований по IT
5000+ вопросов для подготовки к интервью. Фильтры, квизы, статистика!
#полезное
🤓 Laravel использует
Это также может быть очень полезно при разработке приложения, в котором пользователи могут настраивать выполнение задач с нужной им периодичностью.
Вот как я использовал его, чтобы дать пользователям возможность создавать и запускать автоматические отчёты по расписанию
👉 Новости 👉 База вопросов
Cron\CronExpression
для определения времени выполнения запланированных задач.Это также может быть очень полезно при разработке приложения, в котором пользователи могут настраивать выполнение задач с нужной им периодичностью.
Вот как я использовал его, чтобы дать пользователям возможность создавать и запускать автоматические отчёты по расписанию
Please open Telegram to view this post
VIEW IN TELEGRAM
#статьи
😎 Пример HTTP-сервера на PHP с использованием файберов. Улучшенная версия
Статья показывает, как сделать быстрый HTTP-сервер на PHP с файберами и расширением ev, обходя ограничения socket_select() и добиваясь лучшей производительности
Подробнее
👉 Новости 👉 База вопросов
Статья показывает, как сделать быстрый HTTP-сервер на PHP с файберами и расширением ev, обходя ограничения socket_select() и добиваясь лучшей производительности
Подробнее
Please open Telegram to view this post
VIEW IN TELEGRAM
#статьи
🛞 PHP под капотом: как работает генерация случайных чисел
Вы когда-нибудь задумывались, как компьютер, эта идеальная детерминированная машина, выполняющая команды с математической точностью, умудряется генерировать «случайные» числа? Ведь в его цифровом мире нет места настоящему хаосу — только чёткие алгоритмы и предсказуемые состояния.
Сегодня мы заглянем под капот PHP и разберёмся, как устроена эта иллюзия случайности!
Хабр
👉 Новости 👉 База вопросов
Вы когда-нибудь задумывались, как компьютер, эта идеальная детерминированная машина, выполняющая команды с математической точностью, умудряется генерировать «случайные» числа? Ведь в его цифровом мире нет места настоящему хаосу — только чёткие алгоритмы и предсказуемые состояния.
Сегодня мы заглянем под капот PHP и разберёмся, как устроена эта иллюзия случайности!
Хабр
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес
🤔 Что такое миграции базы данных на примере Laravel?
Миграции - это способ описания изменений схемы базы данных в виде кода. Они помогают отслеживать версии изменений, легко разворачивать базу данных на новых средах и управлять откатами. Этот подход делает процесс работы. модификации базы данных более упорядоченным и удобным для командной
👉 Новости 👉 База вопросов
Миграции - это способ описания изменений схемы базы данных в виде кода. Они помогают отслеживать версии изменений, легко разворачивать базу данных на новых средах и управлять откатами. Этот подход делает процесс работы. модификации базы данных более упорядоченным и удобным для командной
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
👍 Laravel Wayfinder
На той неделе команда Laravel выпустила новый инструмент — Wayfinder — в бета-версии: тыкГитхаб
Он генерирует TypeScript-функции, которые можно импортировать на фронтенде для ваших контроллеров и маршрутов
👉 Новости 👉 База вопросов
На той неделе команда Laravel выпустила новый инструмент — Wayfinder — в бета-версии: тыкГитхаб
Он генерирует TypeScript-функции, которые можно импортировать на фронтенде для ваших контроллеров и маршрутов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👨💻 Теперь PHPUnit по умолчанию использует in-memory SQLite базу данных для тестов
Ранее эти настройки в файле
👉 Новости 👉 База вопросов
Ранее эти настройки в файле
phpunit.xml
были закомментированы. Теперь они будут активны по умолчаниюPlease open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😊 Подборка 5 полезных шпаргалок по верстке и гиту
Сохраняй, чтобы не потерять
👉 Новости 👉 База вопросов
Сохраняй, чтобы не потерять
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес
🤔 Как использовать РНР с функциями HTML5?
PHP используется для динамического генерирования HTML5 контента, включая создание мультимедийных элементов, работу с localStorage, и обработку форм. PHP может генерировать HTML5 элементы, такие как формы, видео или аудио теги, и передавать данные в JavaScript для работы с новыми функциями HTML5, такими как местное хранилище.
👉 Новости 👉 База вопросов
PHP используется для динамического генерирования HTML5 контента, включая создание мультимедийных элементов, работу с localStorage, и обработку форм. PHP может генерировать HTML5 элементы, такие как формы, видео или аудио теги, и передавать данные в JavaScript для работы с новыми функциями HTML5, такими как местное хранилище.
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🤓 что если вы хотите сделать continue в нескольких foreach-циклах?
Сначала я попробовал
👉 Новости 👉 База вопросов
Сначала я попробовал
continue; continue;
, что (очевидно) не сработало — потом узнал, что в PHP можно передать число как {level}
, указав, сколько уровней вложенности нужно пропустить.Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😴 Ищете API-клиенты, альтернативы Postman?
Вот три инструмента, которые особенно нравятся разработчикам:
🟠 HTTPie — подсветка синтаксиса и удобное переключение между CLI и GUI
🟠 Yaak — организация рабочих пространств и низкое потребление памяти
🟠 Insomnia — поддержка GraphQL и чистый интерфейс
👉 Новости 👉 База вопросов
Вот три инструмента, которые особенно нравятся разработчикам:
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🛞 Метод «skip» у планировщика
Иногда вы можете захотеть пропустить выполнение команды, основываясь на определенном условии. Laravel включает метод «
👉 Новости 👉 База вопросов
Иногда вы можете захотеть пропустить выполнение команды, основываясь на определенном условии. Laravel включает метод «
skip
» для выполнения этого Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
📞 В Laravel появилась новая функция — мемоизация кэша
Теперь с помощью метода
Это позволяет временно сохранять значения, извлечённые из кэша, прямо в памяти во время одного запроса или выполнения задания. В результате — никаких повторных обращений к кэшу в рамках одного выполнения.
Подробнее в документации
👉 Новости 👉 База вопросов
Теперь с помощью метода
Cache::memo
можно обернуть любое хранилище кэша в обёртку с мемоизацией. Это позволяет временно сохранять значения, извлечённые из кэша, прямо в памяти во время одного запроса или выполнения задания. В результате — никаких повторных обращений к кэшу в рамках одного выполнения.
Подробнее в документации
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес
🤔 Как РНР взаимодействует с JavaScript?
PHP взаимодействует с JavaScript, генерируя JavaScript-код, который затем выполняется на клиентской стороне. РНР может передавать данные в vaScript через HTML или создавать асинхронные запросы с помощью AJAX, позволяя динамично обновлять страницы без перезагрузки.
👉 Новости 👉 База вопросов
PHP взаимодействует с JavaScript, генерируя JavaScript-код, который затем выполняется на клиентской стороне. РНР может передавать данные в vaScript через HTML или создавать асинхронные запросы с помощью AJAX, позволяя динамично обновлять страницы без перезагрузки.
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😊 Выпущена документация для нового fluent-класса URI в Laravel, который значительно упрощает анализ и манипулирование URI.
Теперь можно даже возвращать экземпляры этого класса из маршрутов, чтобы автоматически генерировать ответы с перенаправлением на указанный адрес.
Документация Laravel 12.x – URI
👉 Новости 👉 База вопросов
Теперь можно даже возвращать экземпляры этого класса из маршрутов, чтобы автоматически генерировать ответы с перенаправлением на указанный адрес.
Документация Laravel 12.x – URI
Please open Telegram to view this post
VIEW IN TELEGRAM
#ЛитКод
Задача: 711. Number of Distinct Islands II
Вам дана двоичная матричная сетка m x n. Остров - это группа 1 (представляющая сушу), соединенных в четырех направлениях (горизонтальном или вертикальном). Можно предположить, что все четыре края сетки окружены водой. Остров считается одинаковым с другим, если они имеют одинаковую форму, или имеют одинаковую форму после поворота (только на 90, 180 или 270 градусов) или отражения (влево/вправо или вверх/вниз). Верните количество разных островов.
Пример:
👨💻 Алгоритм:
1⃣ Пройдите по каждому элементу матрицы, если найдена земля (1), выполните DFS для обнаружения всех связанных с этим островом земель и сохраните форму острова.
2⃣ Нормализуйте форму острова, применив все возможные повороты и отражения, чтобы найти каноническую форму.
3⃣ Используйте множество для хранения всех уникальных канонических форм и верните размер этого множества.
😎 Решение:
👉 Новости 👉 База вопросов
Задача: 711. Number of Distinct Islands II
Вам дана двоичная матричная сетка m x n. Остров - это группа 1 (представляющая сушу), соединенных в четырех направлениях (горизонтальном или вертикальном). Можно предположить, что все четыре края сетки окружены водой. Остров считается одинаковым с другим, если они имеют одинаковую форму, или имеют одинаковую форму после поворота (только на 90, 180 или 270 градусов) или отражения (влево/вправо или вверх/вниз). Верните количество разных островов.
Пример:
Input: grid = [[1,1,0,0,0],[1,0,0,0,0],[0,0,0,0,1],[0,0,0,1,1]]
Output: 1
function numDistinctIslands2($grid) {
$uniqueIslands = [];
for ($i = 0; $i < count($grid); $i++) {
for ($j = 0; $j < count($grid[0]); $j++) {
if ($grid[$i][$j] == 1) {
$shape = [];
dfs($grid, $i, $j, $i, $j, $shape);
$uniqueIslands[normalize($shape)] = true;
}
}
}
return count($uniqueIslands);
}
function dfs(&$grid, $i, $j, $baseI, $baseJ, &$shape) {
if ($i < 0 || $i >= count($grid) || $j < 0д
Задача
:
711. Number of Di$grid[$i][$j]
== 0) {
return;
}
$grid[$i][$j] = 0;
$shape[] = [$i - $baseI, $j - $baseJ];
dfs($grid, $i + 1, $j, $baseI, $baseJ, $shape);
dfs($grid, $i - 1, $j, $baseI, $baseJ, $shape);
dfs($grid, $i, $j + 1, $baseI, $baseJ, $shape);
dfs($grid, $i, $j - 1, $baseI, $baseJ, $shape);
}
function normalize($shape) {
$shapes = array_fill(0, 8, []);
foreach ($shape as $p) {
$x = $p[0];
$y = $p[1];
$shapes[0][] = [$x, $y];
$shapes[1][] = [$x, -$y];
$shapes[2][] = [-$x, $y];
$shapes[3][] = [-$x, -$y];
$shapes[4][] = [$y, $x];
$shapes[5][] = [$y, -$x];
$shapes[6][] = [-$y, $x];
$shapes[7][] = [-$y, -$x];
}
foreach ($shapes as &$s) {
sort($s);
}
$minShape = implode(",", array_map(function($p) { return implode(",", $p); }, $shapes[0]));
foreach ($shapes as $s) {
$sStr = implode(";", array_map(function($p) { return implode(",", $p); }, $s));
$minShape = min($minShape, $sStr);
}
return $minShape;
}
Please open Telegram to view this post
VIEW IN TELEGRAM