Json и php

WOLF_2010

Постоялец
Заблокирован
Регистрация
8 Окт 2011
Сообщения
86
Реакции
113
  • Автор темы
  • Заблокирован
  • #1
надеюсь что тему задаю в правильный раздел, потому что тема не стандартная. Просто хочется понять как устроен алгоритм плагинов, приложений и дизайна в webasyst (ребят тока не гоните к авторам двига, они все равно ниче не расскажут), я для себя просто хочу узнать,
суть вопроса такой: у них есть инсталлятор плагинов, вылаживаю сам инсталлятор плагинов так как он большой и на форум не поместится кодами

и есть файл sources.php в нем хранится такая информация
PHP:
return array (
  'apps' => 'http://www.webasyst.com/download/apps/list/',
  'system' => 'http://www.webasyst.com/download/system/list/',
);
//EOF

получается скрипт инсталлятора ссылается на sources.php и по ссылкам выбирает нужную информацию?

если перейти по ссылки Для просмотра ссылки Войди или Зарегистрируйся, то выводится такая информация, непонятно то, в чем хранится эта информация, знаю что json_encode, кодирует символы php, скорее всего кодирование происходит тут

PHP:
private static function getServerSignature($raw = false)
    {
        $signature = array(
            'php' => preg_replace('@([^0-9\\.].*)$@', '', phpversion()),
            'c'   => PHP_INT_SIZE,
            'api' => PHP_SAPI,
        );
        if (function_exists('php_uname')) {
            $signature['os'] = @php_uname('s');
            $signature['r'] = @php_uname('r');
        } elseif (defined('PHP_OS')) {
            $signature['os'] = constant('PHP_OS');
        }
        return $raw ? $signature : base64_encode(json_encode($signature));
    }

объясните пожалуйста как все происходит? и в каком в виде и расширении все таки хранится информация на сервере, если перейти по ссылке Для просмотра ссылки Войди или Зарегистрируйся
то мы увидим такую информацию - закодированную Json`ом

PHP:
{"shop":{"icons":{"96":"\/\/www.webasyst.com\/wa-data\/public\/updates\/img\/29\/129\/icon.96x96.png","48":"\/\/www.webasyst.com\/wa-data\/public\/updates\/img\/29\/129\/icon.48x48.png","24":"\/\/www.webasyst.com\/wa-data\/public\/updates\/img\/29\/129\/icon.24x24.png","16":"\/\/www.webasyst.com\/wa-data\/public\/updates\/img\/29\/129\/icon.16x16.png"},"name":"Shop-Script 6","version":"6.0.3.38328","description":"\u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0441\u0432\u043e\u0439 \u043f\u0440\u0438\u0431\u044b\u043b\u044c\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442-\u043c\u0430\u0433\u0430\u0437\u0438\u043d!","vendor":"webasyst","vendor_name":"Webasyst","price":"14 999 \u0440\u0443\u0431.","price_hosted":"249","commercial":true,"license":"WA","license_url":null,"plugins":0,"themes":0,"tags":["homepage","magicdesk","popular","updated"],"lease_price":null,"publish_datetime":"2013-09-05 09:52:01"},

надеюсь, что все таким мне кто нибудь объяснит как все происходит, заранее спасибо
 

Вложения

  • wainstallerapps.class.rar
    12,4 KB · Просмотры: 5
  • Автор темы
  • Заблокирован
  • #2
попытался расшифровать json получил такое

PHP:
{ "banner" : { "commercial" : true,
      "description" : "Управление баннерами для вашего сайта.",
      "icons" : { "16" : "//www.webasyst.com/wa-data/public/updates/img/37/837/icon.16x16.png",
          "24" : "//www.webasyst.com/wa-data/public/updates/img/37/837/icon.24x24.png",
          "48" : "//www.webasyst.com/wa-data/public/updates/img/37/837/icon.48x48.png",
          "96" : "//www.webasyst.com/wa-data/public/updates/img/37/837/icon.96x96.png"
        },
      "lease_price" : null,
      "license" : "WA",
      "license_url" : null,
      "name" : "Баннеры",
      "plugins" : false,
      "price" : "999 руб.",
      "price_hosted" : "16",
      "publish_datetime" : "2014-05-21 03:33:06",
      "tags" : [  ],
      "themes" : false,
      "vendor" : 667213,
      "vendor_name" : "welldi-studio.ru",
      "version" : "2.1.1"
    },
  "blog" : { "commercial" : false,
      "description" : "Удобный движок для ведения блога.",
      "icons" : { "16" : "//www.webasyst.com/wa-data/public/updates/img/43/43/icon.16x16.png",
          "24" : "//www.webasyst.com/wa-data/public/updates/img/43/43/icon.24x24.png",
          "48" : "//www.webasyst.com/wa-data/public/updates/img/43/43/icon.48x48.png",
          "96" : "//www.webasyst.com/wa-data/public/updates/img/43/43/icon.96x96.png"
        },
      "lease_price" : "free",
      "license" : "Свободная лицензия LGPL",
      "license_url" : "http://www.gnu.org/licenses/lgpl.html",
      "name" : "Блог",
      "plugins" : 0,
      "price" : "0 руб.",
      "price_hosted" : "0",
      "publish_datetime" : "2013-09-04 08:10:37",
      "tags" : [  ],
      "themes" : 0,
      "vendor" : "webasyst",
      "vendor_name" : "Webasyst",
      "version" : "1.3.1.37613"
    },

получается на сервере хранится информация в таком виде? и в файле с расширением .js? или просто list?
Для просмотра ссылки Войди или Зарегистрируйсяlist/
или просто list, а в нем кодированный json?
 
Последнее редактирование:
любой нормальный разработчик будет хранить данные в базе данных. а если пользователь что-то запрашивает, то эти данные берутся из базы в виде объекта либо массива объектов, обрабатываются (в вашем случае вероятно функцией PHP json_encode) и выдаются пользователю
 
  • Автор темы
  • Заблокирован
  • #4
а почему они берутся из Для просмотра ссылки Войди или Зарегистрируйсяlist/? и там зашифрованный json, получается там пустой файл list и туда записывается json? или там уже имеется шифрованный json в файле list?
 
я уже объяснял, скорее всего json генерируется налету
что вы имеете ввиду под "зашифрованым json" ? если строку типа "\u043f\u0440\u0438\u0431\u044b\u043b\u044c\u043d\u044b\u0439", то это никакой не шифр, просто символы отличные от латиницы в кодировке utf-8 преобразуются в такой вид
 
  • Автор темы
  • Заблокирован
  • #6
если я вас правильно понял, то файл list на сервере пустой, получается php генерирует json и записывает все в Для просмотра ссылки Войди или Зарегистрируйсяlist/ так?
 
list на сервере не пустой. По ссылке Для просмотра ссылки Войди или Зарегистрируйсяlist/ работает php скрипт, который генерит контент и отдает пользователю.
 
  • Автор темы
  • Заблокирован
  • #8
получается этот list, это list.php?
 
может list.php, может index.php, а может и другое имя иметь
у веб-серверов много инструментов для видоизменения ссылок и путей к исполняемым скриптам
 
  • Автор темы
  • Заблокирован
  • #10
плохо, что php файл там(((, спасибо за разъяснение
 
Назад
Сверху