2014-09-26 13 views
0

出於調試目的,我想記錄從響應對象的所有頭,像這樣在filters.php:獲得來自Symfony的分量 HttpFoundation頭響應

App::after(function($request, $response) { 
    if(App::environment() !== 'dev') { return; } 

    error_log(print_r($response->getHeadersPleaaase())); 

$response通常是Illuminate\Http\JsonResponse,我無法找到任何明顯的獲取標題的方法。

回答

0

集管是一個公共屬性:

error_log(print_r($response->headers)); 
0
ini_set("log_errors", 1); 
ini_set("error_log", __DIR__.'/../app/logs/prod.log');//ini_set("error_log", your path and file); 
error_log('BEGIN===========>'); 
error_log($request); 
error_log($response); 
error_log('<========END'); 

使用的例子(Symfony2的)

app.php

<?php 

use Symfony\Component\ClassLoader\ApcClassLoader; 
use Symfony\Component\HttpFoundation\Request; 

$loader = require_once __DIR__.'/../app/bootstrap.php.cache'; 

// Use APC for autoloading to improve performance. 
// Change 'sf2' to a unique prefix in order to prevent cache key conflicts 
// with other applications also using APC. 
/* 
$apcLoader = new ApcClassLoader('sf2', $loader); 
$loader->unregister(); 
$apcLoader->register(true); 
*/ 

require_once __DIR__.'/../app/AppKernel.php'; 
//require_once __DIR__.'/../app/AppCache.php'; 

$kernel = new AppKernel('prod', false); 
$kernel->loadClassCache(); 
//$kernel = new AppCache($kernel); 

// When using the HttpCache, you need to call the method in your front controller instead of relying on the configuration parameter 
//Request::enableHttpMethodParameterOverride(); 
$request = Request::createFromGlobals(); 
$response = $kernel->handle($request); 

ini_set("log_errors", 1); 
ini_set("error_log", __DIR__.'/../app/logs/prod.log'); 
error_log('BEGIN===========>'); 
error_log($request); 
error_log($response); 
error_log('<========END'); 

$response->send(); 
$kernel->terminate($request, $response); 
相關問題