私はsymfonyのチュートリアルに従おうとしていました:
http://symfony.com/doc/current/book/page_creation.html#step-1-create-the-route
しかし、ある時点で、小枝の代わりにphpを使用することにしました。
ステップ3でテンプレートを操作しようとしていたので、ページにこの行が表示されます
extend('::base.html.php') ?> Hello escape($name) ?>!
彼らは通常小枝での作業を選択するので、これがチュートリアルのエラーであるかどうか、または私が何か間違ったことをしたかどうかはわかりません。それを拡張しようとすると、私のページがphpを認識しないようです。
これは私がレンダリングしようとしているページの完全なコードです:
<!-- src/Acme/HelloBundle/Resources/views/Hello/index.html.php -->
<?php $view->extend('::base.html.php') ?>
Hello <?php echo $view->escape($name) ?>!
そして私はこのURLでページを実行しますhttp:// localhost:8080 / web / app_dev.php / hello / Peter
これは私のコントローラーです:
class HelloController extends Controller
{
public function indexAction($name)
{
// return $this->render(
// 'AcmeHelloBundle:Hello:index.html.twig',
// array('name' => $name)
// );
// render a PHP template instead
return $this->render(
'AcmeHelloBundle:Hello:index.html.php',
array('name' => $name)
);
}
}
と私のベース:
!-- app/Resources/views/base.html.php -->
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><?php $view['slots']->output('title', 'Welcome!') ?></title>
<?php $view['slots']->output('stylesheets') ?>
<link rel="shortcut icon" href="<?php echo $view['assets']->getUrl('favicon.ico') ?>" />
</head>
<body>
<?php $view['slots']->output('_content') ?>
<?php $view['slots']->output('javascripts') ?>
</body>
</html>
チュートリアルにない/web/を使用していることに注意してください。これは問題に関連しているのでしょうか?ベースモデルは::?どうすればこれを修正できますか?