2016-05-14 5 views
0

私はこのプロパティを設定しようとしていますが、失敗しています。

コード(ビュー):

 if (Yii::$app->user->identity && Yii::$app->user->identity->admin): 
      \yii\filters\HttpCache::$cacheControlHeader = 'no-cache'; // prevent Fastly from caching admin links 

ドキュメント:http://www.yiiframework.com/doc-2.0/guide-caching-http.html#cache-control

のYii 2.0.7。

答えて

1

そのプロパティisn't a static property

キャッシュ制御ヘッダーを設定するには、そのクラスをコントローラーフィルターとして追加し、そこにプロパティを設定する必要があります。このような何かが機能するはずです(コントローラー/動作定義を拡張することに関するYMMV):

public function behaviors() { 
    return array(
     array(
      "class" => "yii\filters\HttpCache", 
      "cacheControlHeader" => Yii::$app->user->identity && Yii::$app->user->identity->admin ? 
       "no-cache" : "public, max-age=3600", 
     ), 
    ); 
} 
+0

本当にうわーですか?その部分を多くのページに持ち、多くのコントローラを使用するとどうなりますか?私はそれを各コントローラーに追加する必要がありますか? – Chloe

+0

理想的には、他のすべての(またはこの機能を含む)メインコントローラーが –

関連する問題