PHP再类的函数里引用外部文件,并是实例化文件中类的问题,谢谢

请问我在函数里引用了两个文件,为啥下面实例化类还是找不到,引用的文件里确信是带有这两个类的

引用路径不对,需要使用相对的绝对路径,如
include __DIR__ . '/../../Component/PHPExcel.php';
其中 __DIR__ 是ExcelController这个文件所在的目录追问

有点蒙,相对的绝对路径

追答

你可以echo __DIR__就能看到这是一个绝对路径,是当前文件所在的文件夹,你再后面根据这个增加相对路径去引用你要的文件,比如
echo __DIR__ . '/../index.php';
得到 d:/www/yoursite/app/controllers/../index.php
相当于 d:/www/yoursite/app/index.php

追问

为啥这样引用之后依旧提示未定义类呢

我echo了一下

echo __DIR__."../../Component/PHPExcel.php";

显示整个地址是

H:\server\xampps\htdocs\plan\Admin\Controller../../Component/PHPExcel.php

追答

你没看到echo 出来的 Controller../ 这里少个斜杠么?应该include __DIR__ . "/ <- 一定要斜杠开头

追问

include __DIR__.'/../../Component/PHPExcel.php';
include __DIR__.'/../../Component/PHPExcel/Writer/Excel2007.php';
我现在这样写的,还是提示下面实例化类的时候未定义,请问哪里还有问题呢

追答

那就要看你完整的代码和错误信息了,是不是错误信息变了呢?
其实我觉得最好的办法是你好好看看文档把Component加入自动加载的列表里面去,手动引用很麻烦

温馨提示:答案为网友推荐,仅供参考