在PHP中发送HTTP响应代码的最佳方式
通过阅读 PHP规范和Stack Overflow上的其他问题,我可以看到三种从PHP发送HTTP响应代码的方法: header("HTTP/1.0 404 Not Found"); ^ ^ ^ A B C header(" ",false,404); ^ ^ ^ C D B http_response_code(404); ^ B A: Defines HTTP header B: Response code C: Message D: To replace previous header or not 这些和最好使用哪一个有什么区别?我对参数的理解是否正确? 谢谢, Tugzrida. 为了回答你关于有什么区别的问题,我在PHP文档中找到了 this comment(感谢Steven):
我很好奇一些流行的框架如何在标准响应中发送标头: Symfony(和Laravel,继承)设置原始标题: // status header(sprintf('HTTP/%s %s %s',$this->version,$this->statusCode,$this->statusText),true,$this->statusCode); Zend Framework 2还设置了原始标题: public function renderStatusLine() { $status = sprintf( 'HTTP/%s %d %s',$this->getVersion(),$this->getStatusCode(),$this->getReasonPhrase() ); return trim($status); } Yii也是如此 protected function sendHeaders() { if (headers_sent()) { return; } $statusCode = $this->getStatusCode(); header("HTTP/{$this->version} $statusCode {$this->statusText}"); // ... (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |