我使用了PhalconPHP devtools来创建项目框架,并在indexController的indexAction(){}
中进行了一些测试。
我的索引控制器:
class IndexController extends ControllerBase
{
public function indexAction()
{
echo "OUUUUUTPUUUUUUUUUUUUUUUT";
}
}
和index.volt看起来像:
<!DOCTYPE html>
<html>
<head>
<title>Phalcon PHP Framework</title>
</head>
<body>
<?php echo $this->view->getContent(); ?>
{{ content() }}
</body>
</html>
我知道这种方式我得到了双倍的内容。但这是为了调试。 我得到的输出是:
<h1>Congratulations!</h1>
<p>You are now flying with Phalcon. Great things are about to happen!</p>
<h1>Congratulations!</h1>
<p>You are now flying with Phalcon. Great things are about to happen!</p>
我使用Chrome浏览器进行测试,使用Ubuntu服务器12.04进行PhalconPHP 1.3.0。
答案 0 :(得分:2)
Phalcon视图使用output buffering,我确定您没有看到echo
输出的原因,因为视图可以控制public function indexAction()
{
$this->view->disable();
echo "HELLO";
}
输出。{I>}您可以禁用视图直接从控制器打印内容:
{{1}}
为了解决实际的调试问题,我建议坚持使用Xdebug - 它与Phalcon完美配合,并得到大多数IDE的支持,例如PhpStorm或NetBeans,并且具有浏览器扩展(Chrome,Safari等。第一次需要一段时间才能获得头脑,但投入的时间是完全值得的。强烈推荐。
答案 1 :(得分:0)
我想,这就是需要:
public function testAction(){
echo 'Hello world';
$this->view->setRenderLevel(View::LEVEL_NO_RENDER); //will stop render view
}
我用它直接从控制器输出JSON。 :)
答案 2 :(得分:-1)
$this->view->setContent('OUUUUUTPUUUUUUUUUUUUUUUT');
或
echo 'OUUUUUTPUUUUUUUUUUUUUUUT';die();