2012-04-23 18 views
1

私は自分のアプリケーションを構築するためにsilexを試しています。致命的なエラー:クラス 'Silex'が見つかりません

Fatal error: Class 'Silex' not found in /opt/local/apache2/htdocs/silex/try.php on line 5

、これは私のコードです::私は私の最初のアプリケーションをテストしようとすると、私はこのようなエラーが発生します

<?php 
    #require_once __DIR__.'/silex.phar'; 
    require_once 'phar://'.__DIR__.'/silex.phar/vendor/.composer/autoload.php'; 
    #require_once 'phar://'.__DIR__.'/silex.phar/autoload.php'; 
    $app= new Silex/Application(); 
    $app->get('hello/{name}',function($name) use($app){ 
    return 'Hello ' .$app->escape($name); 
    }); 
    $app['debug'] == true; 
    $app->run(); 
?> 

私は、検索エンジンで自分のエラーを探していると私は持っていますいくつかの提案は、php.iniでこのコードを追加したい:

extension=phar.so 
phar.readonly = Off 
phar.require_hash = Off 
detect_unicode = Off 

しかし、私は、Webブラウザでテストするとき、私はまだ同じエラーを取得します。あなたの提案は何ですか?

答えて

4

最初はそれがあなたのラインのようになります。

$app= new Silex/Application(); 

は実際に読み込ますべき(バックスラッシュに注意):

$app= new Silex\Application(); 

\はあなたのコードが何をしているか、名前空間の区切りで、次にnew Silexを実行していますそれをApplication()で割って、class Silexとして存在しないため、コンパイルに失敗します。

うまくいけば問題は解決します。

また:

私はライン$app['debug'] == true;$app['debug'] = true;(シングルイコール)であるべきだと思う - ダブル等号は、単一の等号が代入され、平等のテストです。

関連する問題