Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: X технологии > сохранить настройки в XML файле


Автор: mclight 28.3.2007, 17:02
Слышал про то что типа некоторые настройки держат в ХМЛ файле........типа данные.......и все тому подобное!
только не могу понять что к чему.....объясните плс если Вам не трудно........

Автор: Golda 29.3.2007, 00:37
Вместо того, чтобы сохранять конфигурацию в переменных/массиве PHP

Код

$conf['language'] = 'en';
$conf['template'] = 'default';


можно сохранять те же данные в XML

Код

<CONF>
    <LANGUAGE>en</LANGUAGE>
    <TEMPLATE>default</TEMPLATE>
</CONF>


Несколько ситуаций, когда это бывает удобным:
  •  Конфигурация для одного сервиса может храниться на другом. Это особенно удобно, когда речь идет о взаимодействии между продуктами разных фирм. include'ом файл с данными с другого сервера не подключишь, а все иные способы (file_get_contents(), CURL, сокеты и т.д.) возвращают текст, а не PHP код. Очевидно, что парсить проще XML (я в данный момент не рассматриваю массу вариантов а-ля RPC)
  •  Нужна возможность менять конфигурацию из web-интерфейса (см. любой настраиваемый движок). Тогда полученные настройки можно хранить в базе данных или в XML-файле. Последний случай предпочтительнее, если кроме этих настроек хранить в этой базе нечего и жалко связываться с базой данных ради этого (один XML-файл явно легче поддерживать, чем базу данных)
  •  Разделение работы между програмистами и web-мастерами Если Вы пишете движок, на котором потом web-мастера будут поднимать несколько аналогичных сайтов, удобнее и безопаснее, когда web-мастера не работают с PHP-кодом, а конфигурацию меняют в XML-файле
  •  Использование одних и тех же данных из PHP и XSL. Если сайт строится по схеме XML/XSL, часто бывает, что одни и те же данные нужны и в XSL, и в PHP. Например, если в форме есть SELECT со списком стран, приносящий в скрипт код страны, этот список нужен как в XSL (чтобы выдать его пользователю в HTML-форме), так и в PHP (чтобы проверить, допустим ли полученный POST-ом код). Хранить этот список дважды (один раз в PHP, другой - XSL) - некрасиво и чревато проблемами при поддержке: списки легко могут рассинхронизироваться. А XML-файл - отличный вариант, к которому легко обратиться и из PHP, и из XSL.

Этот список никак не претендует на полноту, но надеюсь, может быть полезен, чтобы получить представление о теме.


Автор: mclight 29.3.2007, 08:09
меня волнует вопрос о том что, а что насчет безопасности........в смысле что любой чел может просмотреть эти настройки?

Автор: Bikutoru 29.3.2007, 09:01
Цитата(mclight @  29.3.2007,  09:09 Найти цитируемый пост)
в смысле что любой чел может просмотреть эти настройки? 

Только в том случае, если этот xml-файл будет доступен через web. Если поместить его куда-нибудь вне DOCUMENT_ROOT, то добраться до него злоумышленнику будет непросто. Как вариант можно положить его в отдельную папку, расположенную где-то в DOCUMENT_ROOT, но закрыть к ней доступ htaccess-ом.

Автор: mclight 29.3.2007, 09:09
ок......спасибо................

Автор: mclight 30.3.2007, 11:02
ок......спасибо................ 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)