2015-10-19 11 views
8

スリム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

は、あなたがチェックしましたか?オートローダーが正しく組み込まれているかどうか確認しましたか?オートローダーが使用するパスを確認しましたか? *オートローダ*をダンプしようとしましたか? – m02ph3u5

+0

また、* use *を使ってクラスをインポートする場合、新しいインスタンスを作成するときに名前空間を入れないでください。 – mTorres

答えて

13

Slim3 is not using Slim as main class name but Appと思われます。

だからあなたのコードは次のようになります。そのRC1との未解決の問題がある場合は

<?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:クラス 'App'が見つかりませんでした.. )\\ –

+2

@VladaKatlinskaya、アプリケーション変数を導入する前に\ Slim \ App文を使用しましたか?そうした場合は、このソリューションがうまく機能しなかったという別の質問をしてください。 – mTorres

関連する問題