示例#1
0
 /**
  * в автозапуск инициализацию вынести нельзя так как нет причин обращаться к Nostore а автозапуск
  * привязан к обращение к классу
  **/
 public static function init()
 {
     $conf = Nostore::$conf;
     $action = Ans::GET('-nostore', 'string');
     if ($action === 'true') {
         return Nostore::on();
     }
     if ($conf['public']) {
         //Значения по умолчанию выставляются
         Nostore::pub();
         //Администраторы вкурсе кэша
     } else {
         Nostore::off();
         //Администраторы не знают как отключать кэш в браузере или для удобства
     }
 }
示例#2
0
文件: Access.php 项目: infrajs/access
 public static function modified($etag = '')
 {
     //$v изменение которой должно создавать новую копию кэша
     if (self::isDebug()) {
         return;
     }
     if ($etag) {
         //Мы осознано включаем возможность кэшировать, даже если были запреты до этого! так ак есть Etag и в нём срыты эти неявные условия
         //Таким образом отменяется обращение к базе даных, инициализация сессии и тп.
         Nostore::off();
     }
     if (!empty($_SERVER['HTTP_IF_MODIFIED_SINCE'])) {
         $last_modified = self::adminTime();
         /*
         	Warning: strtotime(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone
         */
         if (@strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']) > $last_modified) {
             if (empty($_SERVER['HTTP_IF_NONE_MATCH']) || $_SERVER['HTTP_IF_NONE_MATCH'] == $etag) {
                 //header('ETag: '.$etag);
                 //header('Last-Modified: '.$_SERVER['HTTP_IF_MODIFIED_SINCE']);
                 header('HTTP/1.0 304 Not Modified');
                 exit;
             }
         }
     }
     header('ETag: ' . $etag);
     $now = gmdate('D, d M Y H:i:s', time()) . ' GMT';
     header('Last-Modified: ' . $now);
 }