За последние 24 часа нас посетили 21343 программиста и 1000 роботов. Сейчас ищут 734 программиста ...

Клуб полуночников

Тема в разделе "Беседы", создана пользователем Апельсин, 4 ноя 2010.

  1. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    siiXth писал(а):
    Хигхт, зачем топ закрыл?))) Меня на этом моменте чуть не порвало))
     
  2. siiXth

    siiXth Активный пользователь

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    я старалсо , хоть и слабо вышло , нужно было ляпать 192.168.1.2 , тогда бы точно поверили!!!
     
  3. antonn

    antonn Активный пользователь

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    только если из твоего сегмента...
    тролить надо помягче, чтобы поймали нить, а не подумали что дурак
     
  4. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    ночной идеотизм

    PHP:
    1. <?php
    2. /**
    3.  * Абстрактный класс для
    4.  * реализации кеширования
    5.  * @author padaboo
    6.  */
    7. abstract class ACache {
    8.      /**
    9.      * данные предназначенные для кеширования
    10.      * @var mixed $cache
    11.      */
    12.      protected  $cache      = null;
    13.      /**
    14.      * время протухания
    15.      * в секундах
    16.      * @var int $updateTime
    17.      */
    18.      protected  $updateTime = null;
    19.      /**
    20.      * нужно или не нужно кешировать
    21.      * @var bool $needCache
    22.      */
    23.      protected  $needCache  = null;
    24.      /**
    25.       * читаем кеш
    26.       * в $this->cache;
    27.       */
    28.      abstract protected function  read();
    29.      /**
    30.       * сохраняем кеш
    31.       */
    32.      abstract protected function  save();
    33.       /**
    34.       * удаляем кеш по хешу
    35.       */
    36.      abstract protected function  delete();
    37.       /**
    38.       * проверка на время устаревания
    39.       * @return bool
    40.       */
    41.      abstract protected function  checkByTime();
    42.      /**
    43.       * существует ли кеш
    44.       * @return bool
    45.       */
    46.      abstract protected function  cacheExists();
    47.      /**
    48.       * получить кеш
    49.       */
    50.      abstract protected function  getCache();
    51. }
    52. ?>
    PHP:
    1. <?php
    2. /**
    3.  * Итерфейс предназначен для
    4.  * всех объектов подлежащих
    5.  * кешированию
    6.  * @author padaboo
    7.  */
    8. interface ICached {
    9.     /**
    10.      * Должна возвращать хеш объекта
    11.      * @return string
    12.      */
    13.     public function getHashCode();
    14.     /**
    15.      * Должна возвращать кеш объекта
    16.      * @return mixed
    17.      */
    18.     public function getCache();
    19.  
    20. }
    21. ?>
    PHP:
    1. <?php
    2. /**
    3.  * Класс предназначенный для кеширования
    4.  * шаблонов и подшаблонов
    5.  * @author padaboo
    6.  */
    7. include_once 'ACache.php';
    8. class TemplateCache extends ACache{
    9.      /**
    10.      * @var string $path;
    11.      * путь до папки с кешем
    12.      */
    13.      private $path = 'tpl/cache/';
    14.      /**
    15.      * @var object $template implements ICached;
    16.      */
    17.      private $template = NULL;
    18.      /**
    19.       * Конструктор
    20.       * время обновления в минутах
    21.       * @param int $updateTime
    22.       * Объект нашего шаблонизатора,
    23.       * должен реализовывать интерфейс
    24.       * ICached
    25.       * @param object $template
    26.       */
    27.     public function  exe($template , $updateTime = null) {
    28.         $this->template   = $template;
    29.         $this->path      .= $this->template->getHashCode();
    30.         $this->updateTime = $updateTime * 60;
    31.         return $this->getCache();
    32.     }
    33.     /**
    34.      * Реализация абстрактного метода read
    35.      * класса ACache
    36.      * читаем кеш в  $this->cache
    37.      */
    38.     protected function read(){
    39.         $this->cache = file_get_contents($this->path);
    40.     }
    41.     /**
    42.      * Реализация абстрактного метода read
    43.      * класса ACache
    44.      */
    45.     protected function save(){
    46.         file_put_contents($this->path, $this->cache);
    47.     }
    48.  
    49.     protected function delete(){
    50.        
    51.     }
    52.     /**
    53.      * проверяем по дате создания файла
    54.      * нужно ли кешировать
    55.      * @return bool
    56.      */
    57.     protected function checkByTime(){
    58.         if($this->updateTime != null){
    59.              $time       = time();
    60.              $rottenTime = filemtime($this->path) + $this->updateTime;
    61.              return ($time > $rottenTime) ? true : false ;
    62.          }
    63.          return false;
    64.     }
    65.     /**
    66.      * проверяет существует ли файл с кешем
    67.      * @return bool
    68.      */
    69.     protected function cacheExists(){
    70.          if(!file_exists($this->path)){
    71.              touch($this->path);
    72.              chmod($this->path, 0644);
    73.              return true;
    74.          }
    75.          return false;
    76.     }
    77.     /**
    78.      * возвращает кеш
    79.      * @return mixed $this->cache
    80.      */
    81.     protected function  getCache() {
    82.         if($this->cacheExists() || $this->checkByTime()){
    83.            
    84.             $this->cache = $this->template->getCache();
    85.             $this->save();
    86.         } else {
    87.             $this->read();
    88.         }
    89.         return $this->cache;
    90.     }
    91. }
    92. ?>
    PHP:
    1. <?php
    2. /**
    3.  * Шаблонизатор
    4.  * @author padaboo
    5.  */
    6. include_once '/../cache/Icached.php';
    7. class Template implements ICached{
    8.     /**
    9.      * путь до  шаблона
    10.      * @var string
    11.      */
    12.     private $path;
    13.     /**
    14.     * переменные
    15.     * @var array
    16.     */
    17.     private $vars;
    18.     /**
    19.      * перегрузка метода
    20.      * @return method
    21.      */
    22.     function compile() {
    23.         $args = func_get_args();
    24.         $num  = func_num_args();
    25.         if (method_exists($this, $method ='compile' . $num)) {
    26.             return call_user_func_array(array($this, $method), $args);
    27.         }
    28.     }
    29.     /**
    30.      * @param string $path
    31.      * @param array $vars
    32.      * @return string шаблон
    33.      */
    34.     public function  compile2($path, $vars = array()) {
    35.         $this->path = $path;
    36.         $this->vars = $vars;
    37.         return $this->compile0();
    38.     }
    39.      /**
    40.      * @param string $path
    41.      * @param array $vars
    42.      * @return $this
    43.      */
    44.     public function  compile3($path, $vars = array()) {
    45.         $this->path = $path;
    46.         $this->vars = $vars;
    47.         return $this;
    48.     }
    49.     /**
    50.      * @return string шаблон
    51.      */
    52.     public function  compile0() {
    53.         extract($this->vars);
    54.         ob_start();
    55.         include($this->path);
    56.         return ob_get_clean();
    57.     }
    58.     /**
    59.      * возвращает хеш шаблона
    60.      * @return string
    61.      */
    62.     public function getHashCode(){
    63.         return basename($this->path, ".html") . "_" . md5(serialize($this));
    64.     }
    65.     /**
    66.      * @return string шаблон
    67.      */
    68.     public function  getCache() {
    69.         return $this->compile0();
    70.     }
    71. }
    72. ?>
    PHP:
    1. <?php
    2. $template = new Template;
    3. $cache    = new TemplateCache();
    4.  
    5. $name = 'Vasia';
    6. $age  = 1000;
    7. $man  = $cache -> exe( $template->compile( 'tpl/test.html', array(
    8.     'array' => array(
    9.         $name, $age)), 'cache'), 1);
    10.  
    11. echo $template->compile('tpl/test.html', array('array' => array('Super', $man)));
    HTML:
    1.   <?php foreach($array as $value):?>
    2.    <tr>
    3.        <td>
    4.            <?php echo $value; ?>
    5.        </td>
    6.    </tr>
    7.  <?php endforeach;?>
     
  5. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    Может и по миру до гигабита, но скорее всего где-то собака зарыта (типа минуту гигабит, а потом как мегабайт скачаешь скорость понижают до хз какого уровня...)
     
  6. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    Vladson
    та не, если наипаловка какая-то, то просто пишут что высокоскоростной инет, а там хрен поймешь - какая скорость заявлена и какая реальная. Я мало верю что дадут гигабит, но и не верю что пров может обманывать. По крайней мере разумный предел - это не менее 70% от того гигабита. Хотя мож там под понятием "в обоих направлениях" имеется ввиду по украине, а не мир.
     
  7. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    Кстати вопрос...

    Постраничную разбивку кто как делает ?

    Типа ?start=10/20 или ?page=1/2/3 ?

    (в коде реализуется совершенно одинаково, по этому ответ "что проще то и юзать" как-то совершенно не подходит, интересует именно "мораль")
     
  8. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.553
    Симпатии:
    631
    конечно page
     
  9. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    У меня page=1/2/3, мне кажется так как-то "правильнее", если про постраничную разбивку говорить. Хотя в принципе разницы особой нет
     
  10. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    В коде нет, вопрос о "морали" (типа "как круче ?")
     
  11. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.553
    Симпатии:
    631
    Когда у юзера минимум шансов сделать что-то непредусмотренное интерфейсом ИМХО))
     
  12. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    Короче ?page=1/2/3 круче ?
     
  13. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    кстати, посмотрел седня пиратку - Пила 7. уйня вобщемто, освновной перс не сдох и, видимо, будет еще одна часть. Не особо торкнуло, потому и смотреть разве что на свое усмотрение.
     
  14. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Значит будем смотреть. Качаю ...
     
  15. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    Apple
    могу кинуть по асе/скайпу. 700 мб, качество - сьемка из трусов в кинотеатре.
     
  16. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Спасибо, уже скачал =)
    TS-ка со звуком CamRip
     
  17. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    Пишу класс для обработки и логирования ошибок, что нужно в debug, есть мысль выводить саму ошибку и файл через
    highlight_string, что то в голову больше ничего не идет, print_r $_REQUET $_FILES $_COOKIE и т.п. ?
     
  18. antonn

    antonn Активный пользователь

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    Играю в Фолаут =)
     
  19. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    antonn
    в какую часть?
     
  20. siiXth

    siiXth Активный пользователь

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
  21. antonn

    antonn Активный пользователь

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    Padaboo
    в последнюю, Нью Вегас
     
  22. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    Бог гандон, если он есть и я его увижу, лично рыло начищу...
     
  23. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    Берём арматуру и на бога. go go go

    =)
     
  24. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Ну вот, посмотрел.
    Мега-акуенно пошло с пивом и сухариками и чипсами.
     
  25. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    Да лоховской отстой это, о чем ты. Я даже мордой ни разу не скрутился, смотря как там чето отрезают себе. Первые части были пострашнее. А это уже тьфу.. сериал какойто. Зря пожеванные сухарики :)