致命错误:未找到“Silex”类

时间:2012-04-23 07:14:16

标签: php silex phar

我尝试使用silex来构建我的应用程序。当我尝试测试我的第一个应用程序时,我收到如下错误:

  

致命错误:第5行的/opt/local/apache2/htdocs/silex/try.php中找不到类'Silex'

这是我的代码:

<?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

但是当我在网络浏览器中测试时,我仍然会遇到同样的错误。你的建议是什么?

1 个答案:

答案 0 :(得分:4)

最初它看起来像你的行:

$app= new Silex/Application();

实际应该阅读(注意反斜杠):

$app= new Silex\Application();

\是命名空间分隔符,您的代码正在运行new Silex然后将其除以Application(),并且由于class Silex不存在,编译失败。

希望能解决问题!

同时

我认为行$app['debug'] == true;应该是$app['debug'] = true;(单个等于) - double equals是一个等式测试,single equals是赋值。