[Silex]Silex初心者が遭遇する最初のエラー

Silexドキュメントの1〜2ページはIntroduction/Usageなのですが、たった数行のコードを入力しただけ(で動くはず)なのに、びくともしなくて右往左往してしまいました。display_errors=Onにしたら、こんな感じ。

Fatal error: Uncaught exception ‘Symfony\Component\Routing\Matcher\Exception\NotFoundException’ in phar:///path-to-webroot/silex-test/silex.phar/vendor/Symfony/Component/Routing/Matcher/UrlMatcher.php:41 Stack trace: #0 phar:///path-to-webroot/silex-test/silex.phar/src/Silex/RedirectableUrlMatcher.php(13): Symfony\Component\Routing\Matcher\UrlMatcher->match(‘/’) #1 phar:///path-to-webroot/silex-test/silex.phar/src/Silex/Application.php(140): Silex\RedirectableUrlMatcher->match(‘/’) #2 phar:///path-to-webroot/silex-test/silex.phar/vendor/Symfony/Component/EventDispatcher/EventDispatcher.php(84): Silex\Application->onCoreRequest(Object(Symfony\Component\HttpKernel\Event\GetResponseEvent)) #3 phar:///path-to-webroot/silex-test/silex.phar/vendor/Symfony/Component/EventDispatcher/EventDispatcher.php(16): Symfony\Component\EventDispatcher\EventDispatcher->triggerListener(Object(Silex\Application), ‘onCoreRequest’, Object(Symfony\Component\HttpKernel\Event\GetResponseEv in phar:///path-to-webroot/silex-test/silex.phar/src/Silex/Application.php on line 144

まぁ、よーく見ると、URLMatcher->match(‘/’) のあとに Routing MatcherのNotFoundExceptionが走っているので、マッチするルーティングルールがないと。なるほどね。たしかにURL見たら / だし、そのURLのルーティングルールは書いてないね。 /hello/Fabien と書かないと動かないわけか。

Twitterでつぶやいたら、@brtriverさん@gilbiteさんから「あるあるw」と返ってきたので、勝手に「Silex初心者が遭遇する最初のエラー」と命名しますw

P.S. どのコードのことを言っているのか分かりにくかったので、ソースコード載せておきます。

[phpcode]
get(‘/hello/{name}’, function ($name) {
return “Hello $name”;
});

$app->run();
[/phpcode]

About: uechoco