局部变量?局部包含?以及函数里的文件包含

今天在写HTML生成的功能模块时遇到一个有趣的事情,出现了类重新定义的问题,我看了一下函数,里面有个include并且初始化了一个类对象,我以为这个问题出在那个类对象上,我也纳闷着,怎么可能呢,函数内部定义的变量和对象应该是局部的,怎么会出现重新定义的错误呢。

于是我把问题放在了include上面,换成require_once后问题解决,原来函数内部包含文件是全局作用并不局限于函数内部,呵呵,真是有趣!!