正在做类似的事情
_________________________
//index.PHP
...
require("header.PHP");
...
_________________________
_________________________
//header.PHP
printHeader()
function printHeader(){
echo 'something';
...
}
_________________________
被认为是避免不良做法?
我个人认为执行require()(或require_once()或include(),这不是点)调用应该只添加一个“链接”到其他函数/对象,永远不会自己执行任何东西.换句话说,在我看来,require应该以与导入/使用其他oo语言非常相似的方式运行.
我上面写的例子非常简单,但显然我也在反对各种“副作用”.定义函数或会话的一些技巧是我在一些包含的文件中经常发现的其他滥用行为.
解决方法:
是的,恕我直言,这是非常糟糕的做法,除非明确记录.
include或require(以及它们在其他语言中的等价物)通常应该只将新函数引入当前作用域,并且永远不会触发它们的调用.