2011-12-23 14 views

答えて

3

は、あなたは、レスポンスのボディを取得し、それを操作し、それを縮小化した後、本体を設定することができ、そこからdispatchLoopShutdown中に実行pluginを作成することができます達成するための方法があります。ここで

は一例です:あなたのブートストラップで

<?php 

class Application_Plugin_ShrinkSource extends Zend_Controller_Plugin_Abstract 
{ 
    public function dispatchLoopShutdown() 
    { 
     // get the output that will be sent to the client 
     $body = $this->getResponse()->getBody(); 

     // remove extra whitespace, and other cleanup 
     $body = someFunctionToRemoveWhitespace($body) 

     // set the modified content back to the body 
     $this->getResponse()->setBody($body); 
    } 
} 

あなたがお返事のため

Zend_Controller_Front::getInstance() 
    ->registerPlugin(new Application_Plugin_ShrinkSource()); 
+0

こんにちはおかげのようなプラグインを登録することができます。それは本当にうまくいった。あなたはもう一つのことで私を助けてくれますか?私はまた、スペースを削除した後に来るデータをgzipしたい。私はここでそれを行うことができます –

+0

私は[この回答](http://stackoverflow.com/a/8566657/892493)で提供されるコードはそれには良いと思います。 Apacheがあなたのためにやっているか、ブラウザがgzipエンコーディングを受け入れるかどうかを確認してください。もしそうなら、コンテンツエンコーディングヘッダとgzencodeをあなたのボディに送ります。また、gzエンコードされた応答の長さを含むコンテンツ長ヘッダを追加する必要があります。 – drew010

関連する問題