PHP Phalcon:没有意见?

时间:2014-07-18 20:27:31

标签: php templates phalcon

我正在评估与API一起使用的框架,我正在认真研究PHP Phalcon。它看起来很有前途 - “精益”(加载你需要的东西),但有很多选择。

我在想......是否可以使用视图(模板,而不是)?我是否必须设置视图,或者我可以输出.json?

谢谢!

4 个答案:

答案 0 :(得分:7)

Phalcon中有一种方法可以禁用操作中的视图并避免不必要的处理:

public function indexAction() {

    $this->view->disable();

    $this->response->setContentType('application/json');
    echo json_encode($your_data);
}

答案 1 :(得分:3)

根据您的想法,您可以像其他人建议的那样禁用视图并回显json编码数据,或者您可以使用内置的响应对象,如下所示:

  $this->view->setRenderLevel(View::LEVEL_NO_RENDER);
  $this->response->setContentType('application/json', 'UTF-8');
  $this->response->setJsonContent($data); //where data is an array containing what you want
   return $this->response;

文档中还有一个教程,用于构建简单的REST api

http://docs.phalconphp.com/en/latest/reference/tutorial-rest.html

答案 2 :(得分:0)

如果您根本不使用任何视图,则可以在一开始就禁用视图。

$app = new \Phalcon\Mvc\Application();
$app->useImplicitView(false);

即使你这样做,我认为你仍然需要设置视图DI以使框架起作用。

另外,如果你想输出json,有一种方法:

$this->response->setJsonContent($dataArray);
$this->response->send();

答案 3 :(得分:-3)

是的,你可以做到,我使用的是PHP Phalcon。 要忽略视图,在控制器中,您的操作应该是

public function indexAction() {
   $var = array or other data 
   die(json_encode($var));
}
控制器中的

die();将不会呈现任何父布局! :)