Подходящее использование для JSON? - PullRequest
2 голосов
/ 27 октября 2009

Отличный сайт! У меня есть вопрос, который я не видел, ответил.

Я очень новичок в этом, я не знал, что такое JSON вчера, поэтому я прошу прощения, если это глупый вопрос. Клиент запросил схему типа JSON / XML для хранения данных, потому что он хочет, чтобы плоский файл редактировался / обновлялся без необходимости иметь дело с запросами, и он хотел, чтобы он был гибким для дальнейшей разработки. Я хотел бы, чтобы данные были структурированы, так как я буду использовать их и php для создания html-страниц, две части сайта будут использовать их, оба на одном сервере.

Файл json будет содержать массив объектов, вероятно, 50, которые состоят из 5 или 6 комбинаций коротких тегов / данных и 1-3 комбинаций тегов / данных, которые будут длинными, по пара абзацев текста каждый.

Подробности: только реализация на стороне сервера, все будет находиться на одном сервере. В настоящее время я создам файл json вручную, в будущем он может быть сгенерирован автоматически. Я предпочитаю json xml, так как с php легче манипулировать. У меня php 5.2.6 и json 1.2.1.

Мои вопросы:

  1. Уместно ли использовать json для данных, имеющих размер текстовой области? Будет ли это вызывать проблемы с производительностью при сборке, когда у меня в массиве 30-50 объектов, и мне нужно найти правильный?

  2. Уместно ли использовать json в качестве хранилища данных, как это?

  3. Если это так, у меня проблемы с поиском инструкций по самым основным вопросам, например, как получить доступ к файлу. Нужно ли использовать XMLHttpRequest даже на одном сервере? Будем весьма благодарны за любые информационные ссылки, которые помогут лучше понять это.

  4. Если это неуместное использование, любые советы о том, что может быть хорошим выбором, будут с благодарностью!

Спасибо!

Ответы [ 4 ]

3 голосов
/ 27 октября 2009
  1. Вероятно, нет.
  2. Нет. Пожалуйста, используйте базу данных, это избавит вас от многих головных болей в будущем.
  3. Если вы должны сделать это, просто используйте библиотеку PHP для доступа к файлу json.
  4. Используйте MySql или эквивалентный. Похоже, вам нужно динамически генерировать данные страницы. Именно для этого и был построен MySql (между прочим).
1 голос
/ 16 сентября 2010

Я потрясен, читая такие вещи, как «Ни одно современное веб-приложение не хранит данные в виде плоского файла».

Знаете ли вы, что Google и Twitter используют системы с плоскими файлами? Боже ... вырасти из эпохи баз данных. Если вы не сортируете, не ищите и не объединяете тысячи блоков данных, mysql на самом деле не имеет смысла. Кроме того, плоские файлы обычно являются самыми простыми и переносимыми (не только по причинам резервного копирования).

Я бы действительно погрузился в "чтение и запись файлов". Это также расширит ваше понимание основных функций php (и ваши результаты, скорее всего, будут быстрее).

0 голосов
/ 27 октября 2009

JSON звучит как приличное решение того, что вы делаете, учитывая ограничение клиента, требующее простого файла. Если вы используете встроенные в PHP функции jsonencode () и jsondecode (), у вас не должно возникнуть проблем с данными длины абзаца.

У вас не будет такой же возможности запроса, как у реляционной базы данных, такой как MySQL, но если вам нужен только поиск и изменение в одном файле за раз, это было бы довольно легко сделать в PHP после использования jsondecode () и некоторых функций массива PHP. Поиск по нескольким файлам одновременно был бы довольно сложным, и я бы порекомендовал базу данных с возможностью поиска, а не простые файлы для чего-то подобного.

Чтобы открыть файлы в PHP, проверьте функции file_get_contents () и file_put_contents ().

http://us.php.net/manual/en/function.file-get-contents.php

http://us.php.net/manual/en/function.file-put-contents.php

Все это говорит, что если вам действительно не нужно использовать плоский файл, другие постеры верны, что база данных будет гораздо более универсальным подходом. В настоящее время JSON и XML используются гораздо больше для транспортировки данных, чем для их хранения. MySQL имеет несколько встроенных интерфейсов (например, PHPMyAdmin), которые позволяют вам искать и изменять данные без использования запросов SQL.

0 голосов
/ 27 октября 2009

Если они действительно хотят, чтобы он был гибким, они должны выбросить свои данные в базу данных. Это гораздо более надежный подход, чем простой файл. Создание веб-интерфейса CRUD (создание / обновление / удаление) для основных данных очень просто.

Ответы:

  1. с использованием jQuery и т. П. Довольно просто найти массив объектов JSON или дерево XML.

  2. Нет. Используйте MySQL, SQL-сервер, все что угодно, кроме простого файла.

  3. Файл ввода-вывода в PHP: http://www.developertutorials.com/tutorials/php/file-access-php-050623/page1.html

  4. Использовать базу данных. Ни одно современное веб-приложение не хранит данные в виде плоского файла.

N. Если они настаивают на наличии версии своих данных в виде простого файла, предоставьте на сайте страницу, которая сгенерирует версию XML или JSON того, что находится в базе данных. Это должно сделать их счастливыми, но хранить данные в месте, которое имеет смысл для использования приложением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...