2012-02-09 3 views
-1

Можно создать дубликат:
PHP: Require() and Class HierarchiesТребовать внутри классов = плохая практика?

Это плохая практика?

Есть ли какая-либо фактическая разница между включением их снаружи и внутри?

+1

Кажется, что ответ на этот вопрос может ответить на ваш вопрос: http://stackoverflow.com/questions/4222124/php-require-and-class-hierarchies –

+0

да и да. подумайте о области –

+0

, я проголосую за повторное открытие, если вы обновите вопрос, поясняющий, какие части объясняются в http://php.net/include, вам нужна помощь. – Gordon

ответ

-1

Нет никакой реальной разницы между включением их снаружи или внутри класса.

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

0

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

+0

нормально, но это не проблема, если вы используете автозагрузку spl, правильно? Если да, то нет никакого недостатка между этими двумя методами, верно? – Alex

+1

@Alex: это именно то преимущество автозагрузки. Вам нужно только в классах, когда они нужны. Помогает снизить использование памяти и упрощает кодирование, но влияет на производительность (насколько это зависит от многих факторов). – Mchl

+0

Большая часть материала, который я пишу, основана на каркасе, поэтому я даже не думаю об автозагружаемом аспекте в этот день, поскольку фреймворк обрабатывает его для меня, но да. – thenetimp

1

В зависимости от дизайна вашего приложения вы должны включать только что-то в автозагрузчик.

Смежные вопросы