Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 是否需要死亡;在响应api调用时打印json_encode()之后?_Php_Json_Web Services_Yii_Die - Fatal编程技术网

Php 是否需要死亡;在响应api调用时打印json_encode()之后?

Php 是否需要死亡;在响应api调用时打印json_encode()之后?,php,json,web-services,yii,die,Php,Json,Web Services,Yii,Die,我正在创建各种“我的版本”的web服务。基本上,它是一个yii控制器,有很多动作。。每个动作如下 public function actionNameOfWebService() { if(isset($_POST)) { // do some processing, when I have a result... I do .. print CJSON::encode('result.'); } else { print CJ

我正在创建各种“我的版本”的web服务。基本上,它是一个yii控制器,有很多动作。。每个动作如下

public function actionNameOfWebService()
{
   if(isset($_POST))
   {
      // do some processing, when I have a result... I do .. 
      print CJSON::encode('result.');
   }
   else
   {
      print CJSON::encode('only post methods allowed');
   }
}

许多这样的动作都在一个特定的控制器中。一切正常..在我开始生产之前,我需要添加一个'die;'每次打印CJSON::encode语句后的语句

您不必这样做,但当您添加它时,您将确保JSON之后不会打印任何内容,这将中断解析器读取该数据的尝试


但是,如果您知道没有更多内容,可以跳过它。

您不必这样做,但是当您添加它时,您将确保JSON之后不会打印任何内容,这将中断解析器读取该数据的尝试


但是如果你知道没有更多的了,你可以跳过它。

不。你不一定需要
死亡
退出
。我认为使用它有点反模式。它破坏了封装


如果您有某种输出缓冲设置,
die
实际上可能不好。如果您代理一个请求,
die
将终止整个过程等。类似的情况还有很多。

不。您不一定需要
die
退出。我认为使用它有点反模式。它破坏了封装


如果您有某种输出缓冲设置,
die
实际上可能不好。如果您代理一个请求,
die
将终止整个过程等。有更多类似的场景。

由于您使用的是Yii,您只需使用:

Yii::app()->end();

既然您使用的是Yii,您只需使用:

Yii::app()->end();

你绝对应该使用
Yii::app()->end()这是因为如果您有任何调试输出或分析输出,除非您告诉应用程序完成,否则这些输出也将包含在响应中。如果未包含此项,验证可能会中断。

您肯定应该使用
Yii::app()->end()这是因为如果您有任何调试输出或分析输出,除非您告诉应用程序完成,否则这些输出也将包含在响应中。如果未包含此内容,则验证可能会中断。

仅当您知道脚本不应在当前行之后继续时才使用
die()
。您应该使用
Yii::app()->end()仅当您知道脚本不应在当前行之后继续时才使用
die()
。您应使用
Yii::app()->end()