Формат JSON в связке с РНР

Bakti9rov

!*|=?
Формат JSON в связке с РНР

Используете ли Вы json в связке с РНР и js?

Например, json чисто и часто в прикладных целях РНР я использую для сериализации данных. Или для json-версии print_r() и var_dump()

Через сгенерированный json я осуществляю взаимодействие с формами, и вообще для передачи любых данных клиентскому скрипту.

Если в gmail вы посмотрите на исходный код, то вы не увидите тегов - только json и javascript. :)

Использую в основном готовый класс из Зенд фреймворк, подправленный на свой лад.

Как вы относитесь к данному формату?
 

tf

крылья рулят
это опрос?
я смысл не понял
что тебя пугает?
 

AmdY

Пью пиво
Команда форума
не вижу смысла неиспользовать JSON
 

BRat

o_0
где-то в начале этого года было множество статей про XML vs JSON , погугли, почитай
 

Zetruger

ivan.chistyakov.name
главное что-бы пользователям было удобно сайт изать...
 

crocodile2u

http://vbolshov.org.ru
Bakti9rov
Какой-такой готовый класс из зенд-фреймворк? json недостаточно, что ли?
 

Bakti9rov

!*|=?
crocodile2u
да, есть в РНР встроенные функции, но никакой гибкости. :(

класс json - http://framework.zend.com/downloads
 

crocodile2u

http://vbolshov.org.ru
Bakti9rov
О да... Zend_Json::encode() и Zend_Json::decode() - это, разумеется, на порядок более гибко, нежели json_encode() и json_decode()...
 

Bakti9rov

!*|=?
Wicked
спасибо за верную сцылку

-~{}~ 19.07.07 12:54:

crocodile2u

нет. Json::encode(), Json::decode(). Не вижу никакой проблемы в использовании T_PAAMAYIM_NEKUDOTAYIM :)
 

crocodile2u

http://vbolshov.org.ru
Bakti9rov
молодец, возьми с полки пирожок..

да, есть в РНР встроенные функции, но никакой гибкости
Это твои слова? Теперь попробуй докажи, что твой паамайим гибче.

ЗАЧЕМ использовать класс, написанный на php, если есть экстеншн, написанный на Си, который включен в пхп по умолчанию? какой в этом сакральный смысл?
 

Bakti9rov

!*|=?
crocodile2u
да, я понял что вы имеете ввиду.

Вы спрашиваете зачем использовать класс написанный на РНР, если в язык уже встроена функция, выполняющая приблизительно те же действия. Да, заодно мне было бы интересно узнать, что ответили бы сами разработчики Зенд - фреймворка, если бы у них спросили, какой сакральный смысл того, что в библиотеку они включили класс для работы с JSON-ом. ;)

Так вот, я отвечу что да, самописный класс по любому гибче, потому что во первых, я могу менять свой код как угодно, строить производные классы через extends, и т.д. и т.п. Встроенные в РНР функции - это конечно же удобно, не спорю. Ну не исправлять же ради гибкости мне С-исходники и все заново компилить?? :)
 

crocodile2u

http://vbolshov.org.ru
кхм. JSON - это спецификация. До тех пор, пока результат кодирования/декодирования удовлетворяет этой спецификации, нет никакой нужды что-то добавлять или исправлять. Говоришь, "строить производные классы через extends"... Приведи, пожалуйста, живой пример, где ты бы этим воспользовался.

Имхо, ты совершил 2 ошибки с этим зенд_джейсон:
1) ты стал его использовать.
2) Ты его исправил "под себя". Пойми: если ты используешь стороннюю библиотеку, используй ее как есть - иначе тебе же хуже.
 

Bakti9rov

!*|=?
>>> Приведи, пожалуйста, живой пример, где ты бы этим воспользовался.

Простейший пример: class JsonSerialize extends Json - байтово-поточное представление любого объекта в РНР для хранения допустим в БД или для передачи JS.

>>> если ты используешь стороннюю библиотеку, используй ее как есть - иначе тебе же хуже.

А здесь поясните, может я действительно не прав в чем то :)
 

crocodile2u

http://vbolshov.org.ru
ничего я не понял из твоих байтово-поточных слов. чем тебе плохо просто написать $serialized = json_encode($var);

А пояснить - пожалуйста... Вот ты взял чужую либу. Переписал там пару функций и доволен. А через неделю выходит обновление с багфиксами. И ты уже не можешь просто взять и обновить у себя версию - надо учесть свои правки. Вот.
 

Bakti9rov

!*|=?
crocodile2u
в мануале насчет функций написано - включено по умолчанию и работает только с версии 5.2.0. Наверное, единственный минус. :)
 

Wicked

Новичок
Мальчики, не ссорьтесь. Zend_Json использует json extension, если он доступен. Если недоступен - подключает свою pure php реализацию. Вот и вся разница.
 

crocodile2u

http://vbolshov.org.ru
Wicked
Я ни с кем не ссорился. Просто мне кажется, что Bakti9rov слишком увлекся ОО-штучками и немного забыл о простых, очевидных решениях. О них-то я и хотел бы ему напомнить.

Плюс - использование Zend_Json - это как минимум 2 добавочных инклюда.
 
Сверху