Логика и принцип работы кода sape?

Тема в разделе "Как сделать...", создана пользователем Sergo_Sev, 10 авг 2012.

  1. Sergo_Sev

    Sergo_Sev Творец

    Регистр.:
    14 июн 2008
    Сообщения:
    571
    Симпатии:
    188
     

    Вложения:

    • sapelinks.rar
      Размер файла:
      8,7 КБ
      Просмотров:
      6
  2. Nafania

    Nafania

    Регистр.:
    24 мар 2007
    Сообщения:
    167
    Симпатии:
    46
    >>Скрипт sape вызывается каждый раз при обращении к сайту и делает запрос к серверу за новой версией базы ссылок?
    Каждый раз вызывается, но запрос делается не каждый раз. За длительность кеша отвечает переменная $_cache_lifetime. Используется в методе load_data, конкретно строка
    PHP:
    if (filemtime($this->_db_file) < (time()-$this->_cache_lifetime) || filesize($this->_db_file) == 0) {
    В общем - касательно обновления данных (их кеша) смотрите метод load_data.

    >> Сервер Sape может вызвать свой скрипт в любой момент и заставить его разместить нужную ссылку на нужной странице?
    В том смысле, что принудительно обновить кеш? Нет, не может, судя по коду. Но в принципе такую возможность встроить не сложно.

    >> В каком виде приходит БД со ссылками на сервер? в post запросе в виде текста?
    Да, сериализованным текстом.

    >> Я не вижу кода сохранения ссылок в фай "***.db" и проверки на наличие этого файла, ткните пожалуйста в этот кусок
    Все тот же метод load_data

    По поводу инфы - это довольно просто.
    Клиент можно быстро набросать (curl, file_get_contents, сокеты) - этого добра в инете навалом. А сервер от вас зависит.
    Простейший вариант - обращается клиент, называет себя (чтобы не абы кто ломился), вы ему отдаете echo(serialize($data)).
    Клиент их читает и делает что надо.
     
    Sergo_Sev нравится это.
  3. Sergo_Sev

    Sergo_Sev Творец

    Регистр.:
    14 июн 2008
    Сообщения:
    571
    Симпатии:
    188
    Хорошо расписали, если бы еще на несколько дней раньше то было бы просто шикарно т.к. немного уже сам начал разбираться

    А что еще есть в коде sape кроме (запрос к серверу, сохранение файла, отдача ссылок)? Он довольно большой, ведь это все получается можно сделать в несколько раз меньше
     
  4. Nafania

    Nafania

    Регистр.:
    24 мар 2007
    Сообщения:
    167
    Симпатии:
    46
    Ну там половину кода занимают клиенты для статей и для контекста.
    На клиент отведено строк 400. 100 из них это настройки клиента.
    А сам код клиента очень простой и к каждому методу есть краткий комментарий.
    Посмотрите методы и комментарии до 403 строки - там все описано - для чего каждый метод.