session_start();
date_default_timezone_set('GMT');
require 'Slim/Slim.php';
use Slim\Slim;
\Slim\Slim::registerAutoloader();
$app = new \Slim\Slim();
require_once 'item.php';
这是index.php
的代码摘录,并在调用item.php
时卡在上述错误上。这里包含文件
$app->put('/getItem', authorize(), 'getItem');
function getItem() {
$sql = "SELECT * FROM item";
$app = Slim::getInstance();
try {
$db = getConnection();
$stmt = $db->query($sql);
$item = $stmt->fetchAll(PDO::FETCH_OBJ);
$db = null;
$response = $app->response();
$response->header('Content-Type', 'application/json');
// Include support for JSONP requests
if (!isset($_GET['callback'])) {
echo json_encode($item);
} else {
echo $_GET['callback'] . '(' . json_encode($item) . ');';
}
} catch(PDOException $e) {
$error = array("error"=> array("text"=>$e->getMessage()));
echo json_encode($error);
}
}
我点击了$app = Slim::getInstance();
我的做法出了什么问题?
答案 0 :(得分:5)
Slim
类的全名(包括名称空间)为\Slim\Slim
,因此您需要使用它,例如
$app = \Slim\Slim::getInstance();
或者,您可以使用Slim
脚本顶部的use
语句导入item.php
符号。
use Slim\Slim;
答案 1 :(得分:-1)
您可以将此代码用于Slim Framework3:
<?php
require "vendor/autoload.php";
use \Slim\App;
$app = new App();
$app->get("/",function(){
echo "Hello World";
});
$app->get("/test",function(){
echo "Hello World";
});
$app->run();
?>