2015-10-19 14 views
8

Voglio utilizzare Slim 3 in una sottodirectory, ma non riesco a caricarlo. Tutti i file sono contenuti nella sottodirectory, incluso compositore.json. Qui è la mia composer.json:Classe "Slim Slim" non trovata con il compositore

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

Ecco il mio script:

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

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

Ho provato molte cose, tra cui Class Slim not found when installing slim with composer e PHP Fatal error: Class 'Slim' not found. Sfortunatamente, non hanno risolto il mio problema.

L'errore che ottengo è Fatal error: Class 'Slim\Slim' not found in ... on line 5, che corrisponde a $app = new \Slim\Slim();.

Qualcuno sa cosa mi manca?

+0

Avete controllato se ci sono questioni aperte con quel RC1? Hai controllato se il caricatore automatico è stato inserito correttamente? Hai controllato quale percorso utilizza il caricatore automatico? Hai provato a * scaricare il caricatore automatico *? – m02ph3u5

+0

Inoltre, se si sta importando la classe tramite * use * non inserire lo spazio dei nomi durante la creazione di una nuova istanza – mTorres

risposta

13

Sembra che sia Slim3 is not using Slim as main class name but App.

Così il vostro codice dovrebbe essere:

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

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

Per me non ha aiutato :(Lo stesso errore ('Errore irreversibile: App 'classe' non trovata in .. .') –

+2

@VladaKatlinskaya, hai messo l'uso della frase \ Slim \ App prima di instaziare la variabile dell'applicazione? Se facevi così, basta fare un'altra domanda che menzioni che questa soluzione non ha funzionato per te. – mTorres

Problemi correlati