Команда Laravel випустила версію v12.25.0, в якій з’явилася кнопка "Копіювати як Markdown" на сторінці помилок, а також було визначено дозволені шаблони URL для запобігання блукаючим запитам у HTTP-клієнті та інші новини:
Марсель Посіот додав кнопку "Копіювати як Markdown" на сторінку помилок Laravel. Як зазначає Марсель у описі pull request, представлені у форматі Markdown можна використовувати з AI:
Натискаючи цю кнопку, ми копіюємо представлену інформацію про виключення у форматі Markdown у буфер обміну користувача, що може бути використано для AI-агентів/LLM.
Markdown містить усю інформацію, яка також є видимою на сторінці:
- Назва виключення, клас, повідомлення
- Версії PHP та Laravel
- Контекст запиту та маршруту
- Контекст програми
Кнопка розташована у верхньому правому куті сторінки, а копіювання у буфер обміну працює як в локальних (http) середовищах, так і в HTTPS:
Ось приклад помилки (скорочений), яку я створив локально для демонстрації:
# Помилка - Внутрішня помилка сервера
Виклик невизначеної функції error_here()
PHP 8.3.22
Laravel 12.25.0
localhost:8000
## Відстеження стека
0 - resources/views/welcome.blade.php:21
1 - vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:123
2 - vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:124
3 - vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:57
4 - vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:76
5 - vendor/laravel/framework/src/Illuminate/View/View.php:208
6 - vendor/laravel/framework/src/Illuminate/View/View.php:191
...
## Запит
GET /
## Заголовки
* **host**: localhost:8000
* **user-agent**: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:141.0) Gecko/20100101 Firefox/141.0
* **accept**: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
* **accept-language**: en-US,en;q=0.5
...
## Контекст маршруту
контролер: Closure
проміжне програмне забезпечення: web
## Параметри маршруту
Дані параметрів маршруту відсутні.
## Запити до бази даних
* sqlite - select * from "sessions" where "id" = 'uOnPTV8XE51BLUrKqXW1jkzKPvuhDbg8zHTgp3Bc' limit 1 (0.6 ms)
Деталі можна переглянути у Pull Request #56657.
Річард Браун додав можливість передавати дозволений список шаблонів запитів при виклику методу preventStrayRequests() у тестах:
Http::allowStrayRequests([
'http://127.0.0.1:13714/*',
]);
// Працює з екземпляром PendingRequest
$pendingRequest->allowStrayRequests([
'http://127.0.0.1:13714/*',
]);
$pendingRequest->isAllowedRequestUrl($url); // bool
Деталі можна переглянути у Pull Request #56645.
Ви можете ознайомитися з повним списком нових функцій та оновлень нижче, а також з різницею між версіями 12.24.0 і 12.25.0 на GitHub. Наведені нижче примітки є прямими з журналу змін:
db:table – @hafezdivandari в pull requestallowedUrls через preventStrayRequests – @rabrowne85 в pull requestContext@scope() може кидати виключення – @cosmastech в pull requestmergeVisible, mergeHidden і mergeAppends – @jonerickson в pull requestВи знали, що в одному додатку Laravel можна реалізувати кілька API? У нашій статті ви дізнаєтеся, як за допомогою Scramble легко документувати різні версії API та налаштувати доступ до документації, щоб зробити її публічною або приватною. Читайте далі, щоб дізнатися більше
У сучасній веб-розробці аутентифікація є ключовою для захисту додатків і даних користувачів. Дізнайтеся, як модуль nuxt-sanctum-authentication спростить інтеграцію між Nuxt 3 та Laravel Sanctum, забезпечуючи надійний і зручний спосіб реалізації аутентифікації для вашого проєкту
Досліджуйте новий пакет Data Model для PHP, який спрощує процес гідратації об'єктів без зайвих складнощів! Дізнайтеся, як впровадження типобезпечних об'єктів може революціонізувати ваш підхід до розробки, читаючи нашу статтю