我正在使用 PHP,但我遇到了一个我一直在寻找但无法解决的问题。当我在课堂上尝试以这种方式要求另一堂课时,问题就来了:
require 'DAO/usuario.php';
但是当它到达这些行时,它会给出一个错误:
require '../../compra.php'
错误如下:
require (../../compra.php): failed to open stream: No such file or directory
但路线存在,而且确实存在。有谁知道为什么它会在该路线上出现此错误并知道如何解决它。谢谢。
您正在使用相对路径,并且根据您定义的
requires
e字符串,上面的两个目录不是初始脚本上方的两个目录。includes
DAO/usuario.php
假设你有这样的
可以理解,它
compra.php
与 位于同一目录中index.php
,但事实证明usuario.php
它在编译时与 一起运行index.php
,因此您正在调用上面两个目录的文件,index.php
而该文件显然不存在。我一直建议的是为应用程序(index.php)保留一个入口点,其中定义了一个设置根目录的常量:
索引.php
在 user.php 中
这里真正的最佳实践是使用Composer和autoloading,以便每个类的命名空间确定性地定义其在文件树中的位置,但有时如果您正在试验或做证明,它不需要变得那么复杂概念。