Каков наилучший способ включения экземпляров и файлов?

#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