Атрибут Patch
Атрибут Patch вешается на метод контроллера и привязывает его к PATCH-запросу. Первым параметром передаётся путь URL. PATCH используется для частичного обновления ресурса. После запроса Symfony вызывает метод и возвращает его ответ.
Синтаксис
#[Patch(path, name: name)]
Пример
Давайте повесим метод контроллера на PATCH-запрос по адресу '/article/update':
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Attribute\Patch;
class ArticleController extends AbstractController
{
#[Patch('/article/update', name: 'article_update')]
public function update(): Response
{
return new Response('article updated');
}
}
?>
Результат выполнения кода для PATCH-запроса:
article updated
Пример
Давайте примем параметр id из URL и вернём его в ответе:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Attribute\Patch;
class ArticleController extends AbstractController
{
#[Patch('/article/{id}/update', name: 'article_update')]
public function update(int $id): Response
{
return new Response('updated ' . $id);
}
}
?>
Результат выполнения кода для PATCH-запроса по адресу /article/5/update:
updated 5