У меня есть контроллер, который выполняет некоторые функции управления файлами, связанными с сущностями. Я хочу, чтобы этот контроллер можно было использовать повторно:
class ApiFileDeleteController
{
public function __invoke(string $id): void
{
// I have the $id now, how do I determine which entity it belongs to?
//
// Logic in this controller is always the same and always for an entity
$example = $this->em->getRepository($class)->find($id);
// How do I get $class?
}
}
Вопрос: Как я могу получить конфигурацию ApiPlatform в контроллере (или __construct)?
Я мог бы создать FooApiFileDeleteController и BarApiFileDeleteController, но в будущем, если я захочу расшириться, мне нужно будет продолжать добавлять контроллер, только для имени класса. Я бы предпочел приложить немного усилий сейчас, и в будущем мне не придется об этом беспокоиться.
Я мог бы добавить параметр и добавить значение по умолчанию, но тогда на него может повлиять пользователь, я этого не хочу.
Изменить: В настоящее время проверяю процессоры на основе этого аналогичного вопроса. ApiPlatform v2.6 этого не делает. к сожалению, поддерживаю
У меня есть контроллер, который выполняет некоторые функции управления файлами, связанными с сущностями. Я хочу, чтобы этот контроллер можно было использовать повторно: [code]#[ApiResource( itemOperations: [ 'deleteApiFile' => [ 'method' => 'DELETE', 'path' => '/foo/{id}/delete-file', 'read' => false, 'controller' => ApiFileDeleteController::class, ], ], )] class Foo { /* ... */ }
#[ApiResource( itemOperations: [ 'deleteApiFile' => [ 'method' => 'DELETE', 'path' => '/bar/{id}/delete-file', 'read' => false, 'controller' => ApiFileDeleteController::class, ], ], )] class Bar { /* ... */ } [/code] А это контроллер: [code]class ApiFileDeleteController { public function __invoke(string $id): void { // I have the $id now, how do I determine which entity it belongs to? // // Logic in this controller is always the same and always for an entity $example = $this->em->getRepository($class)->find($id); // How do I get $class? } } [/code] [b]Вопрос:[/b] Как я могу получить конфигурацию ApiPlatform в контроллере (или __construct)? [list] [*]Я мог бы создать FooApiFileDeleteController и BarApiFileDeleteController, но в будущем, если я захочу расшириться, мне нужно будет продолжать добавлять контроллер, только для имени класса. Я бы предпочел приложить немного усилий сейчас, и в будущем мне не придется об этом беспокоиться. [*]Я мог бы добавить параметр и добавить значение по умолчанию, но тогда на него может повлиять пользователь, я этого не хочу. [*][b]Изменить:[/b] В настоящее время проверяю процессоры на основе этого аналогичного вопроса. ApiPlatform v2.6 этого не делает. к сожалению, поддерживаю [/list]
У меня есть контроллер, который выполняет некоторые функции управления файлами, связанными с сущностями. Я хочу, чтобы этот контроллер можно было использовать повторно:
#[ApiResource(
itemOperations: [
'deleteApiFile' => ,
],
)]
class Foo { /* ......
Я использую ApiPlatform и хочу изменить поведение запроса на удаление для моих объектов. В каждой сущности у меня есть свойство status — при вызове запроса на удаление он должен установить статус в 0 вместо удаления записи из базы данных.
У меня...
Я недавно писал много блоков Try/Catch , которые делают в основном то же самое, что переосмысливая новую ошибку с добавлением контекста. Например, у меня есть много вызовов в Mongotemplate , которые выглядят в основном так:
try{
return...