Slim 3框架-setStatus上的致命错误

克拉迪奥·里贝罗(CláudioRibeiro)

我刚刚通过composer安装了slim,并且试图构建一个简单的REST API。

我当前的代码如下:

require 'vendor/autoload.php';

$app = new \Slim\App();

$app->get('/getPoiInitialList', function ($request, $response, $args) {

//$app = \Slim\Slim::getInstance();
$app = new \Slim\App(); 

try 
{
    $db = getDB();

    $sth = $db->prepare("SELECT * FROM wikivoyage_pois LIMIT 50");
    $sth->execute();

    $poiList = $sth->fetchAll(PDO::FETCH_OBJ);

    if($poiList) {
        $app->response->setStatus(200);
        $app->response()->headers->set('Content-Type', 'application/json');
        echo json_encode($poiList);
        $db = null;
    } else {
        throw new PDOException('No records found.');
    }

} catch(PDOException $e) {
    $app->response()->setStatus(404);
    echo '{"error":{"text":'. $e->getMessage() .'}}';
}

});

// Run app
$app->run();

我遇到了一些Slim找不到的错误,但是我现在可以通过浏览器访问端点时收到以下致命错误和注意事项:

Notice: Undefined property: Slim\App::$response in C:\xampp\htdocs\api\index.php on line 47 - the first setStatus

Fatal error: Call to a member function setStatus() on null in C:\xampp\htdocs\api\index.php on line 47

在同一行上。对这里可能出什么问题有任何想法吗?

瓦尔德克·桑塔纳

您可以尝试以下代码吗?

细节

  • 你有$app = new \Slim\App();两次。这是不对的。
  • 您不需要$app代码中变量。变量$response具有Response对象的实例

的PHP

require 'vendor/autoload.php';
$app = new \Slim\App();
$app->get('/getPoiInitialList', function ($request, $response, $args) {
    try 
    {
        $db = getDB();

        $sth = $db->prepare("SELECT * FROM wikivoyage_pois LIMIT 50");

        $sth->execute();
        $poiList = $sth->fetchAll(PDO::FETCH_OBJ);

        if($poiList) {

            $response->setStatus(200);
            $response->headers->set('Content-Type', 'application/json');
            echo json_encode($poiList);
            $db = null;

        } else {
            throw new PDOException('No records found.');
        }

    } catch(PDOException $e) {
        $response->setStatus(404);
        echo '{"error":{"text":'. $e->getMessage() .'}}';
    }

});

// Run app
$app->run();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在路由之外引发异常时,如何在Slim框架中传递错误页面?

来自分类Dev

为特定目录添加斜杠(Slim框架)

来自分类Dev

PHP致命错误:未找到类“ Slim”

来自分类Dev

Composer autoloader + slim框架-致命错误:找不到类'Slim \ Slim'?

来自分类Dev

Slim之外的Slim框架配置

来自分类Dev

Slim框架的路由问题

来自分类Dev

Slim框架-500内部服务器错误

来自分类Dev

Silex与SLIM PHP框架

来自分类Dev

无法使用Google App Engine上的Slim框架连接到Google Cloud SQL

来自分类Dev

Slim 3黑洞错误

来自分类Dev

Slim Framework 3上传

来自分类Dev

PHP Slim框架更改页面

来自分类Dev

Slim框架3 $ _SESSION变量

来自分类Dev

PHP Slim 3中间件上的不合理错误

来自分类Dev

使用Slim框架的AJAX帖子输出500(内部服务器错误)

来自分类Dev

php致命错误:找不到类'Slim'

来自分类Dev

PHP Slim框架:自动加载

来自分类Dev

Composer自动加载器+ slim框架-致命错误:找不到类'Slim \ Slim'?

来自分类Dev

带有POST请求的500个内部服务器错误-Slim框架

来自分类Dev

错误:Slim实例必须为Slim \ Views \ Twig,Slim \ Container

来自分类Dev

Slim框架中的本机会话用法

来自分类Dev

致命错误:未捕获的错误:找不到类“maimana\App”——slim3

来自分类Dev

PHP Slim 框架:未指定输入文件?

来自分类Dev

托管在 VPS 上的 Slim 3 找不到模板目录

来自分类Dev

为什么当我尝试在 Slim3 中使用 PDO::PARAM_STR 时,Slim 返回错误?

来自分类Dev

致命错误:未捕获错误:未找到“Slim\Slim”类

来自分类Dev

Slim 3 框架 - RenderView

来自分类Dev

问题自动加载类 PHP Slim 框架

来自分类Dev

Slim 框架和 Auth0

Related 相关文章

热门标签

归档