Правильный способ обработки переменной конфигурации в настройке MVC (PHP) - PullRequest
5 голосов
/ 18 ноября 2010

Я пишу свои первые базовые настройки MVC шаблонов в PHP.Я знаю, что глобальные переменные плохие, и я знаю, что не хочу, чтобы все мои классы имели доступ ко всем моим конфигурационным переменным.

У меня есть файл settings.php, в котором я хотел бы определить группу констант, таких как информация о моем соединении с БД, информация о структуре каталогов, адреса электронной почты и так далее.Это будет одно централизованное место, где хранится вся моя важная информация.

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

По сути, я просто спрашиваю, как кто-нибудь в целом катит свои собственные настройки MVC, обрабатывает информацию о конфигурации, не объявляя глобальные переменные, как мы привыкли делать в процедурные дни.

Спасибо.

Ответы [ 2 ]

2 голосов
/ 18 ноября 2010

Вы получите несколько ответов на этот вопрос, поскольку все сводится к предпочтениям.

Лично я использовал массив конфигурации.пример:

$conf['db']['username'] = "username";
$conf['db']['password'] = "password";

Затем просто передайте нужные вам кусочки туда, куда они должны пойти.

0 голосов
/ 18 ноября 2010

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

Управляющий класс - Синглтон.Таким образом, каждый раз, когда другому классу требуется доступ к нему, он просто получает существующий экземпляр управляющего класса, и все переменные доступны из него.

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