“require” “include”告诉我, 到底你们要哪个?
今天再次遇到怪问题,我的目录结构如下:
index.php
libs/config.php
libs/common.php
libs/member.php
index.php内容是
require "libs/common.php";
libs/common.php的内容是
require "config.php";
require "member.php";
开始运行index.php都很正常,但当我在/下也放了一个member.php后,奇迹出现了。
member.php的内容开头也是
requre "libs/common.php";
...
index.php提示我重复声明了libs/member.php中的类~ 可是明明只有引用一次呀~
原来.. index.php优先搜索了/下的member.php,并包含进来了..
别以为这个问题很弱智呀,保不准你就会遇到!改成绝对路径require吧! (别以为用require_once就能逃避问题,那东西毕竟效率比require要低)