正如我的 IDE 指出的那樣,該AbstractController::getDoctrine()方法現已棄用。
無論是在官方檔案還是 Github 更新日志中,我都沒有找到任何關于此棄用的參考。
此快捷方式的新替代方法或解決方法是什么?
uj5u.com熱心網友回復:
正如這里提到的:
不要使用這些快捷方式,而是在建構式或控制器方法中注入相關服務。
您需要使用依賴注入。
對于給定的控制器,只需注入ManagerRegistry控制器的建構式。
class SomeController {
public function __construct(private ManagerRegistry $doctrine) {}
public function someAction(Request $request) {
// access Doctrine
$this->doctrine;
}
}
uj5u.com熱心網友回復:
您可以使用 EntityManagerInterface $entityManager:
public function delete(Request $request, Test $test, EntityManagerInterface $entityManager): Response
{
if ($this->isCsrfTokenValid('delete'.$test->getId(), $request->request->get('_token'))) {
$entityManager->remove($test);
$entityManager->flush();
}
return $this->redirectToRoute('test_index', [], Response::HTTP_SEE_OTHER);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/380553.html
