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();
Что не так с моим подходом?
Полное имя класса Slim
(включая пространство имен) – это \Slim\Slim
поэтому вам нужно будет его использовать, например
$app = \Slim\Slim::getInstance();
Кроме того, вы можете импортировать символ Slim
используя инструкцию use
в верхней части вашего скрипта item.php
.
use Slim\Slim;
Вы можете использовать этот код для 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(); ?>