2015-10-19 5 views
8

Я хочу использовать Slim 3 в подкаталоге, но не могу его загрузить. Все файлы содержатся в подкаталоге, включая composer.json. Вот мой composer.json:Класс «Slim Slim» не найден с композитором

"require": { 
    "slim/slim": "3.0.0-RC1" 
} 

Вот мой сценарий:

<?php 
require "vendor/autoload.php"; 
use \Slim\Slim; 

$app = new \Slim\Slim(); 
$app->get('/subdirectory/hello/:name', function ($name) { 
    echo "Hello, $name"; 
}); 
$app->run(); 

Я пробовал много вещей, в том числе и Class Slim not found when installing slim with composerPHP Fatal error: Class 'Slim' not found. К сожалению, они не решили мою проблему.

Ошибка, которую я получаю, это Fatal error: Class 'Slim\Slim' not found in ... on line 5, что соответствует $app = new \Slim\Slim();.

Кто-нибудь знает, что мне не хватает?

+0

Вы проверили, если есть открытые вопросы с этой RC1? Вы проверили, правильно ли включен автозагрузчик? Вы проверили, какой путь использует автозагрузчик? Вы пытались * выгружать автозагрузчик *? – m02ph3u5

+0

Кроме того, если вы импортируете класс через * use *, не помещайте пространство имен при создании нового экземпляра – mTorres

ответ

13

Кажется, что Slim3 is not using Slim as main class name but App.

Так что ваш код должен быть:

<?php 
require "vendor/autoload.php"; 
use \Slim\App; 

$app = new App(); 
$app->get('/subdirectory/hello/:name', function ($name) { 
    echo "Hello, $name"; 
}); 
$app->run(); 
+0

Для меня это не помогло :(Такая же ошибка ('Fatal error: Class 'App' не найдена в .. .') –

+2

@VladaKatlinskaya, Вы положили предложение \ Slim \ App перед установкой переменной приложения? Если вы это сделали, просто задайте другой вопрос, говорящий, что это решение не сработало для вас. – mTorres

Смежные вопросы