1

アプリケーションを構築するために silex を試しています。最初のアプリケーションをテストしようとすると、次のようなエラーが発生します。

致命的なエラー: クラス 'Silex' が /opt/local/apache2/htdocs/silex/try.php の 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

1 に答える 1

4

最初はあなたの行のように見えます:

$app= new Silex/Application();

実際に読む必要があります(バックスラッシュに注意してください):

$app= new Silex\Application();

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

うまくいけば、それは問題を解決します!

また:

$app['debug'] == true;行は (single equals)であるべきだと思います$app['debug'] = true;- double equals は等価テストで、single equals は代入です。

于 2012-04-23T07:21:44.603 に答える