【问题标题】:PHP Fatal error: Class 'Slim' not found - Slim Framework 3PHP 致命错误:找不到类“Slim”-Slim 框架 3
【发布时间】:2016-01-17 12:39:32
【问题描述】:

我收到了这个错误,但我无法修复它。这里的所有解决方案都使用旧的 Slim 版本,并且主要是关于注册自动加载器,在这种情况下处理。

究竟是什么导致了这个错误?它说它发生在函数addJob() 的行中,代码为$request = Slim::getInstance()->request();,即缺少 Slim 类。

require 'vendor/autoload.php';

$app = new \Slim\App; 

$app->post('/add_job', 'addJob');

$app->run();

function addJob() {
    $request = Slim::getInstance()->request();       // <------ ERROR
    $job = json_decode($request->getBody());
    $sql = "INSERT INTO jobs (title, company, description, location) VALUES (:title, :company, :description, :location)";
    try {
        $db = getConnection();
        $stmt = $db->prepare($sql);  
        $stmt->bindParam("title", $job->title);
        $stmt->bindParam("company", $job->company);
        $stmt->bindParam("description", $job->description);
        $stmt->bindParam("location", $job->location);
        $stmt->execute();
        $job->id = $db->lastInsertId();
        $db = null;
        echo json_encode($job); 
    } catch(PDOException $e) {
    echo '{"error":{"text":'. $e->getMessage() .'}}'; 
    }
}

【问题讨论】:

    标签: php slim


    【解决方案1】:

    究竟是什么导致了这个错误?

    • Slim\Slim 类不再存在

    不要从静态共享实例获取请求,而是使用作为第一个参数传递给 addJob 函数的请求

    function addJob(MessageInterface $request) {
        $job = json_decode($request->getBody());
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-22
      • 2018-11-22
      相关资源
      最近更新 更多