как сохранить конфигурации для php приложения — xml или ini или [закрытый] дб

используйте префикс router с вашим контроллером. Таким образом, вы получаете доступ к URL-адресу как

    http://localhost/routerprefix/router

. Класс HttpClient можно использовать для отправки и получения HTTP-запросов и ответов. Поскольку вы пытаетесь использовать WebApi со страницы aspx, лучшим способом является создание экземпляра HttpClient

Ниже приведена очень простая реализация. Пожалуйста, проверьте этот URL для получения дополнительной информации

MSDN образец


    HttpClient client = new HttpClient();

    HttpResponseMessage response = await client.GetAsync("http://localhost:49342/api/get");
    if (response.IsSuccessStatusCode)
    {
        product = await response.Content.ReadAsAsync();
    }

11
задан alain.janinm 28 April 2012 в 20:03
поделиться

6 ответов

Хранить настройки для одной БД в другой БД не имеет большого смысла, IMO.

Я бы выбрал либо INI-файл, либо XML-файл, либо PHP-файл, как предложено jmucchiello . У каждого варианта есть свои плюсы и минусы. Что касается xml по сравнению с ini, xml предлагает большую гибкость, но его сложнее поддерживать (он менее читабелен). Если ваши потребности покрыты INI, придерживайтесь более простого решения. Используйте xml только в том случае, если вам нужно больше, чем могут предложить вам ini-файлы.

Что касается решения php, я бы оценил читабельность где-то между ini и xml, но было бы сложнее сохранить текущие настройки. Так что, насколько мне нравится подход, для вашего текущего сценария я бы не рекомендовал его.

4
ответ дан 3 December 2019 в 08:31
поделиться

Я бы сохранил элементы конфигурации в файле PHP.

5
ответ дан 3 December 2019 в 08:31
поделиться

На самом деле, я предпочитаю работающий PHP-файл для конфигурации. В исполняемом файле вы можете сделать много вещей, которые вы не можете легко выполнить с помощью других решений. Единственный большой недостаток исполняемого файла - администратор должен быть разбирающимся в PHP, чтобы безопасно редактировать файл. PHP также может описывать сложные типы данных в вашей конфигурации, поскольку - это код.

БД - это проблема, потому что вам все еще нужен внешний файл конфигурации, чтобы найти и подключиться к БД.

XML излишне для конфигурации.

Файлы INI работают, и вы можете использовать библиотеки PHP ini для их чтения. Смотрите parse_ini_file (). INI-файлы не очень хорошо справляются со сложным типом данных.

РЕДАКТИРОВАТЬ в ответ на Итай Моава (комментарии не отформатируют это правильно):

<?php /* my config file */

$_CFG = Array(); /* problem solved */
$_CFG['key1'] = 'value1';
?>
2
ответ дан 3 December 2019 в 08:31
поделиться

Я думаю, что ответ здесь будет зависеть от вашей индивидуальной ситуации. Есть случаи, когда каждый из них будет лучшим вариантом. Для вашего конкретного случая, XML, вероятно, будет лучшим. Но где XML действительно светит поверх INI-файла, если у вас есть несколько связанных параметров. Например, если вам нужно удерживать информацию о соединении для базы данных, имеющей узлы для разных частей соединения под узлом для этого конкретного соединения, легче читать и поддерживать. Это действительно зависит от данных.

Я бы также сказал, что с xml-файлом было бы легче работать, если бы вы просто собирали одно значение и не загружали весь файл в память в начале приложения.

1
ответ дан 3 December 2019 в 08:31
поделиться

Я бы пошел на INI-файлы, они читаемы человеком, они очень быстро анализируются (и если вы кешируете ....).
Конечно, не XML. Менее читабельно, разбирается не так быстро.
Я не буду делать DB из-за скорости.
Я бы не использовал PHP vars, потому что он заставляет вас использовать глобальную область видимости ...

0
ответ дан 3 December 2019 в 08:31
поделиться

Написать свой собственный класс конфигурации, который загружает файлы конфигурации. Хорошим примером является то, как CodeIgniter обрабатывает конфигурацию.

http://codeigniter.com/user_guide/libraries/config.html

Он загружает некоторые файлы конфигурации по умолчанию или вы можете загрузить определенный файл с помощью класса Config.

Вы можете скачать исходный код и посмотреть, как они это делают в образовательных целях.

Другой вариант - создать php-файл с массивом config из базы данных. Таким образом, вы можете управлять всеми параметрами и при сохранении генерировать файл.

0
ответ дан 3 December 2019 в 08:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: