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();
Что не так с моим подходом?
2
Muhaimin
13 Мар 2014 в 08:48
2 ответа
Лучший ответ
Полное имя класса Slim
(включая пространство имен) - \Slim\Slim
, поэтому вам нужно будет использовать это, например
$app = \Slim\Slim::getInstance();
Кроме того, вы можете импортировать символ Slim
с помощью оператора use
в верхней части вашего скрипта item.php
.
use Slim\Slim;
5
Phil
13 Мар 2014 в 08:52
Вы можете использовать этот код для 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();
?>
-1
Chandra Kumar
20 Июл 2016 в 14:09
Похожие вопросы
Связанные вопросы
Новые вопросы
php
PHP — это открытый, мультипарадигмальный, динамически типизированный и интерпретируемый язык сценариев, изначально разработанный для веб-разработки на стороне сервера. Используйте этот тег для вопросов о программировании на языке PHP.
Slim::registerAutoloader();
вместо\Slim\Slim::registerAutoloader();
?