PHP致命错误:找不到超薄类-超薄框架3
我收到此错误,但我无法修复它。这里的所有解决方案都使用较旧的Slim版本,并且主要与注册自动加载器有关,在本例中处理该注册。
究竟是什么原因导致了此错误?它说它发生在函数addJob()
中的代码为$request = Slim::getInstance()->request();
的行,即缺少Slim类。
require 'vendor/autoload.php';
$app = new SlimApp;
$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() .'}}';
}
}
解决方案
究竟是什么原因导致此错误?
- 超薄班级已不复存在
不是从静态共享实例获取请求,而是使用作为第一个参数传递给addJob函数的请求
function addJob(MessageInterface $request) {
$job = json_decode($request->getBody());
相关文章