3

ブラウザに送信する前に最終出力を操作する適切な方法は何ですか? (laravel5.*)

ファサードを作成しました

namespace App\Facades;

use Illuminate\Support\Facades\Response as ResponseFacade;
use Illuminate\Http\Response as ResponseHttp;

class Response extends ResponseFacade
{

    public static function viewMod($view, $data = [], $status = 200, array $headers = [])
    {   
        $output = \Response::view($view, $data, $status, $headers);

        return some_manipulating_function($output);
    }
}

そして、私が使用するコントローラーアクションで

return viewMod("my_view_file", array $view_data);

しかし、私は破損した出力を受け取ります(http応答ヘッダーがhtmlに追加/追加されます)

おそらく \Response 関連の __toString メソッドの動作がおかしい

何か案は?(ありがとう!)

4

1 に答える 1

3

AfterMiddleware以下のドキュメントの例のように使用できます。

<?php

namespace App\Http\Middleware;

use Closure;

class AfterMiddleware
{
    public function handle($request, Closure $next)
    {
        $response = $next($request);

        // Perform action

        return $response;
    }
}
于 2015-07-02T11:50:18.907 に答える