Можно создать дубликат:
PHP: Require() and Class HierarchiesТребовать внутри классов = плохая практика?
Это плохая практика?
Есть ли какая-либо фактическая разница между включением их снаружи и внутри?
Можно создать дубликат:
PHP: Require() and Class HierarchiesТребовать внутри классов = плохая практика?
Это плохая практика?
Есть ли какая-либо фактическая разница между включением их снаружи и внутри?
Нет никакой реальной разницы между включением их снаружи или внутри класса.
Обычно первые сценарии запуска включают внешние классы, так как класс еще не доступен. Позже, в отношении дизайна ООП, вы можете создать класс для управления импортом других файлов (возможно, других классов или шаблонов PHP), которые имеют свои преимущества: вы определяете базовый путь для всех файлов, чтобы вы могли легко импортировать то, что вы необходимо повысить безопасность, вызывая скрипты только через ваш механизм и т. д.
Когда вы требуете их в функции класса, он доступен только после этого, когда вы делаете это снаружи, он доступен из любой части вашего приложения. Лучше IMO включать их вне класса в одном месте, это облегчает поиск, когда вам нужно посмотреть, действительно ли вы его включили.
нормально, но это не проблема, если вы используете автозагрузку spl, правильно? Если да, то нет никакого недостатка между этими двумя методами, верно? – Alex
@Alex: это именно то преимущество автозагрузки. Вам нужно только в классах, когда они нужны. Помогает снизить использование памяти и упрощает кодирование, но влияет на производительность (насколько это зависит от многих факторов). – Mchl
Большая часть материала, который я пишу, основана на каркасе, поэтому я даже не думаю об автозагружаемом аспекте в этот день, поскольку фреймворк обрабатывает его для меня, но да. – thenetimp
В зависимости от дизайна вашего приложения вы должны включать только что-то в автозагрузчик.
Кажется, что ответ на этот вопрос может ответить на ваш вопрос: http://stackoverflow.com/questions/4222124/php-require-and-class-hierarchies –
да и да. подумайте о области –
, я проголосую за повторное открытие, если вы обновите вопрос, поясняющий, какие части объясняются в http://php.net/include, вам нужна помощь. – Gordon