#php
#php
Вопрос:
Я работаю над php-приложением. У меня много классов и файлов, разделенных на разные каталоги. У меня есть конфигурационный файл, в котором хранятся настройки подключения к базе данных и файлы require
. Например: require "core/application.php"
и я делаю это для всех своих классов и файлов. config.php
также создает мои объекты. Я пытался запросить config.php
во всех своих файлах, чтобы мои классы имели доступ к объектам, config.php
но он пытается создать другой объект, и я получаю сообщение об ошибке, в котором говорится, что объект уже существует. Я также попытался создать init()
функцию и вызвать ее в my index.php
, но затем я получаю сообщение об ошибке, которое init()
уже существует. Я пытался автоматически загрузить свои классы, но не думаю, что это сработает. Последние несколько дней я пробовал разные вещи, но ничего не могу понять. Я также не хочу передавать своим классам объекты. Спасибо за помощь.
Комментарии:
1. Лучший способ — использовать пространство имен и автозагрузку.
2. Почему вы говорите «но я не думаю, что это сработает»? Автозагрузка, безусловно, является правильным решением…
3. Да, согласен с вышесказанным. смотрите этот учебник по автозагрузке. seld.be/notes/psr-4-autoloading-support-in-composer или torquemag.io/2015/01 /…
4. @arkascha Я не хочу следовать рекомендациям psr-0/4 и использовать composer. Я предпочитаю писать свой собственный код
5. Автозагрузка @bena не имеет ничего общего с composer. Это реализовано вашим собственным coe , если вы решили его реализовать.
Ответ №1:
вместо require
использования require_once