my_config.ini по сравнению с my_config.php

console.writeline просто печатает метод ToString () объектов, который в данном случае является именем объекта.

Вам нужно перечислить результат ... Может быть что-то вроде этого:

Console.WriteLine(string.Join(",", resultList))
16
задан SeanJA 5 May 2009 в 04:31
поделиться

3 ответа

Большинство современных систем управления версиями работают хорошо. Subversion - обычное дело. Какую операционную систему будут использовать разработчики?

Если вы просто хотите быстро приступить к работе с чем-либо, проверьте размещенную на сервере систему подрывной деятельности, такую ​​как www.beanstalk.com или www.unfuddle.com.

Subversion открыта источник, и я знаю, что он вам не нужен, но здесь есть много вариантов. Если в Windows, попробуйте Tortoise SVN. Если на Mac и вам не нужен клиент командной строки, посмотрите Версии.

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

Со страницы Zend_Config_Ini .

] Zend Framework использует его, чтобы позволить вам иметь несколько параметров конфигурации: один для промежуточной стадии, один для разработки и один для производства. Это также позволяет легко настраивать параметры базы данных для производства и разработки и иметь две очень разные настройки. В ini-файле заданы разные пути к расположению включений. Это значительно упрощает перенос кода из разработки в производство, зная, что немедленно все, что разрабатывается, будет отключено.

Конечно, это было бы возможно с помощью сценария PHP, но это потребовало бы большего анализа различных переменных конфигурации, а также выполнения проверок if / then, тогда как использование parse_ini_file () делает все это за вас автоматически.

Другие ответы также уже отмечалось, что непрограммистам может потребоваться изменить переменные и / или что-то на веб-сайте, заданное в качестве переменной конфигурации (например, заголовок сайта, который используется в макете сайтов). Файлы INI легко понять и прочитать даже для тех, кто никогда раньше не программировал.

Пример с веб-сайта, над которым я сейчас работаю:

[production]
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
includePaths.library = APPLICATION_PATH "/../library"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts"
resources.db.adapter       = "PDO_SQLITE"
resources.db.params.dbname = APPLICATION_PATH "/../data/db/users.db"

resources.view[] =

[staging : production]

[testing : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.db.params.dbname = APPLICATION_PATH "/../data/db/users-testing.db"

[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.db.params.dbname = APPLICATION_PATH "/../data/db/users-dev.db

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

тогда как использование parse_ini_file () делает все это за вас автоматически.

В других ответах также уже указывалось, что непрограммистам может потребоваться изменить переменные и / или что-то на веб-сайте, установленное в качестве переменной конфигурации (например, заголовок сайта, который используется в макете сайтов). Файлы INI легко понять и прочитать даже для тех, кто никогда раньше не программировал.

Пример с веб-сайта, над которым я сейчас работаю:

[production]
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
includePaths.library = APPLICATION_PATH "/../library"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts"
resources.db.adapter       = "PDO_SQLITE"
resources.db.params.dbname = APPLICATION_PATH "/../data/db/users.db"

resources.view[] =

[staging : production]

[testing : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.db.params.dbname = APPLICATION_PATH "/../data/db/users-testing.db"

[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.db.params.dbname = APPLICATION_PATH "/../data/db/users-dev.db

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

тогда как использование parse_ini_file () делает все это за вас автоматически.

В других ответах также уже указывалось, что непрограммистам может потребоваться изменить переменные и / или что-то на веб-сайте, установленное в качестве переменной конфигурации (например, заголовок сайта, который используется в макете сайтов). Файлы INI легко понять и прочитать даже для тех, кто никогда раньше не программировал.

Пример с веб-сайта, над которым я сейчас работаю:

[production]
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
includePaths.library = APPLICATION_PATH "/../library"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts"
resources.db.adapter       = "PDO_SQLITE"
resources.db.params.dbname = APPLICATION_PATH "/../data/db/users.db"

resources.view[] =

[staging : production]

[testing : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.db.params.dbname = APPLICATION_PATH "/../data/db/users-testing.db"

[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.db.params.dbname = APPLICATION_PATH "/../data/db/users-dev.db

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

заголовок сайта, который используется в макете сайтов). Файлы INI легко понять и прочитать даже для тех, кто никогда раньше не программировал.

Пример с веб-сайта, над которым я сейчас работаю:

[production]
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
includePaths.library = APPLICATION_PATH "/../library"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts"
resources.db.adapter       = "PDO_SQLITE"
resources.db.params.dbname = APPLICATION_PATH "/../data/db/users.db"

resources.view[] =

[staging : production]

[testing : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.db.params.dbname = APPLICATION_PATH "/../data/db/users-testing.db"

[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.db.params.dbname = APPLICATION_PATH "/../data/db/users-dev.db

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

заголовок сайта, который используется в макете сайтов). Файлы INI легко понять и прочитать даже для тех, кто никогда раньше не программировал.

Пример с веб-сайта, над которым я сейчас работаю:

[production]
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
includePaths.library = APPLICATION_PATH "/../library"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts"
resources.db.adapter       = "PDO_SQLITE"
resources.db.params.dbname = APPLICATION_PATH "/../data/db/users.db"

resources.view[] =

[staging : production]

[testing : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.db.params.dbname = APPLICATION_PATH "/../data/db/users-testing.db"

[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.db.params.dbname = APPLICATION_PATH "/../data/db/users-dev.db

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

10
ответ дан 30 November 2019 в 16:58
поделиться

Ваш вопрос, безусловно, поднимает вопрос.

Несколько аргументов в пользу файлов .ini :

  • Используйте файл на другом языке . Если вы когда-нибудь хотели, чтобы скрипты Perl, Python, Ruby и т. Д. Делали что-то, что особенно легко с этим языком и требовалось для доступа к настройкам проекта, вам не повезло бы, если бы вы сохранили свои настройки в файле PHP.

  • Редактирование данных человеком . Несмотря на то, что вы отклонили это в своем вопросе, намерениях или нет, весьма вероятно, что кто-то может в итоге засоваться туда, и это может быть не технический человек. Формат INI намного менее страшен, чем код PHP, даже если это просто набор объявлений переменных

  • Обновление настроек . Я думаю, что гораздо проще создать новый INI-файл, чем писать PHP-файл. Это довольно субъективно, однако, но стоит упомянуть.

  • Связь между установочными переменными . Довольно просто / интуитивно понятно настроить параметры в виде файла INI. Хотя это также было бы возможно с PHP, оно не так аккуратно и может стать неприглядным, если вы пытаетесь создать глубоко вложенные ассоциативные массивы для хранения информации.

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

10
ответ дан 30 November 2019 в 16:58
поделиться

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

Я обнаружил осторожное размещение и ?> могут остановить его отображение, в то время как parse_ini_file () будет по-прежнему получать соответствующие данные из файла.

Хотя лучший способ защитить его - это поместить его над docroot и запретите доступ к * .ini в настройках вашего сервера.

1
ответ дан 30 November 2019 в 16:58
поделиться
Другие вопросы по тегам:

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