Всъщност, от техническа гледна точка, можете да използвате require_once()
вътре във функция. Но най-вероятно това е лоша идея, а не това, което наистина искате да направите:
-
включването на код във функция буквално включва кода там. Това означава, че целият включен код се оценява в обхвата на функцията. PHP декларира всички функции глобални, но променливите и обикновените кодови последователности са свързани локално, така че не се виждат извън функцията, изпълнявана в момента.
-
тъй като използвате относителен път за зареждане на включения файл, вие сте ограничени да изпълнявате функцията си от определено ниво на файлова система. Това ограничава начина, по който може да се използва вашият код...
Въпреки че всъщност това може да е това, което искате, когато включеният файл съдържа някаква локална конфигурация, почти сигурно ще се натъкнете на това:
require_once()
изисква само веднъж, за това е предназначена функцията. Това означава:ако въведете вашата функцияgetTierOne()
повече от един път, след това за всяко следващо изпълнение наrequire_once()
просто няма включи произволен код, тъй като вече го има при първото изпълнение. Така че дали ще включите конфигурацията си или не зависи! Това е ужасен дизайн!
Така че или включете вашата конфигурация глобално и например я съхранете в някаква променлива, която след това можете да се обърнете към вашата функция, или използвате require()
или include()
за да се уверите, че конфигурацията наистина е включена във всяко изпълнение на функцията.