我创建了一个 Controller 并将类命名为 DataTableController
.但现在我收到一条错误消息
InvalidArgumentException
Cannot determine controller argument for "App\Controller\DataTableController::usersAction()": the $request argument is type-hinted with the non-existent class or interface: "App\Controller\Request". Did you forget to add a use statement?
如何找出需要添加的使用语句类型?
<?php
namespace App\Controller;
use DataTables\DataTablesInterface;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\Routing\Annotation\Route;
/**
*
* @Route("/users", name="users")
*
* @param Request $request
* @param DataTablesInterface $datatables
* @return JsonResponse
*/
class DataTableController extends Controller
{
const ID = 'users';
public function usersAction(Request $request, DataTablesInterface $datatables): JsonResponse
{
try {
// Tell the DataTables service to process the request,
// specifying ID of the required handler.
$results = $datatables->handle($request, 'users');
return $this->json($results);
}
catch (HttpException $e) {
// In fact the line below returns 400 HTTP status code.
// The message contains the error description.
return $this->json($e->getMessage(), $e->getStatusCode());
}
}
}
最佳答案
安 use
不见了:
use Symfony\Component\HttpFoundation\Request;
JsonResponse
, HttpException
可能也不见了。使用 IDE 自动完成功能导入这些类
关于php - 如何找出需要在 Symfony 4 中添加的 use 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51207724/