「GET /hello.html」のルートが見つかりません
これは、アクセスしようとすると発生するエラーですhttp://localhost/project/web/app_dev.php/hello.html
デフォルトコントローラー:
<?php
/**
* @Route("/hello.html")
* @Template()
*/
public function indexAction()
{
return array();
}
?>
ルーティング.yml:
MyHelloworldBundle:
resource: "@MyHelloworldBundle/Controller/"
type: annotation
prefix: /
AppKernel.php:
class AppKernel extends Kernel
{
public function registerBundles()
{
$bundles = array(
new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
new Symfony\Bundle\SecurityBundle\SecurityBundle(),
new Symfony\Bundle\TwigBundle\TwigBundle(),
new Symfony\Bundle\MonologBundle\MonologBundle(),
new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(),
new Symfony\Bundle\AsseticBundle\AsseticBundle(),
new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(),
new JMS\AopBundle\JMSAopBundle(),
new JMS\DiExtraBundle\JMSDiExtraBundle($this),
new JMS\SecurityExtraBundle\JMSSecurityExtraBundle(),
new My\HelloworldBundle\MyHelloworldBundle(),
);
if (in_array($this->getEnvironment(), array('dev', 'test'))) {
$bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle();
$bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle();
$bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle();
}
return $bundles;
}
public function registerContainerConfiguration(LoaderInterface $loader)
{
$loader->load(__DIR__.'/config/config_'.$this->getEnvironment().'.yml');
}
}
全体のファイル構造は問題ないようです。src/My/HelloworldBundle/...何が問題なのですか?
私がこれまで行った唯一のことは、acme demo (routing_dev.php の 3 つの部分と AppKernel.php の行) を削除することだけです。
コントローラーのアノテーションを別のものに変更しても機能しません。ビュー ファイル src/My/HelloworldBundle/Resources/views/Default/index.html.twig が存在します。
編集:
route:match コマンドを実行しても、一致するルートがありません。
これはエラーログです: http://khernik.pl/asd.png そして上部: http://khernik.pl/asdf.png
symfony のほとんどのデフォルト設定 (新しいバンドルの作成時に追加された独自のコード) を使用して、最初からすべてを実行しました。私がした唯一のことは、AppKernel.php から Acme 行を削除し、routing_dev.yml から acme の最初の 3 つのブロックを削除することでした。すべてが正しいようです。
それでも、まだ機能しません。
編集 2 - 完全なデフォルト コントローラ:
<?php
namespace My\HelloworldBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
class DefaultController extends Controller
{
/**
* @Route("/hello/{name}")
* @Template()
*/
public function indexAction($name)
{
return array('name' => $name);
}
}