В PhpStorm я получаю предупреждающее сообщение "метод предупреждения" withJson "не найден" в \Psr\Http\Message\ResponseInterface" в строке:
return $response->withJson($toReturn, 200);
Код:
use \Psr\Http\Message\ServerRequestInterface as Request;
use \Psr\Http\Message\ResponseInterface as Response;
$app->get('/bedrijven', function (Request $request, Response $response) {
require_once(CLASSES_PATH . "/class_bedrijven.php");
$Bedrijven = new Bedrijven();
$toReturn = $Bedrijven->get_bedrijven();
return $response->withJson($toReturn, 200);
});
Я уже обновил slim framework с помощью composer до последней версии 3.8.1 и добавил Slim в качестве плагина в PhpStorm. Для каталога Vendor установлено значение Sources и Excluded.
Единственный ответ, который я могу найти, это отключить предупреждающие сообщения в PhpStorm в редакторе -> Инспекции -> PHP -> Неопределенный -> метод undefined.
Есть ли лучшее решение?
\Psr\Http\Message\ResponseInterface
или родительском интерфейсе нет методаwithJson()
-- https://github.com/php-fig/http-message/blob/master/src/ResponseInterface.php . Поэтому он должен быть реализован дополнительно в конкретном классе реализации ResponseInterface (например, в классах Slim framework). IDE здесь абсолютно прав. - person LazyOne   schedule 03.08.2017withJson()
, но он работает нормально. Решение было дано @Nima в ответе. - person Wow   schedule 03.08.2017