需要一次相对路径失败

大卫

我的项目中具有以下文件结构:

+ server
  + api
    + product
      - get.php
  + database
    - product.php
  + model
    - product.php
  + service
    - product.php
  + utilities
    - controller.php
    - database.php

然后在我的server/api/product/get.php我有以下几行:

require_once("../../service/product.php");
require_once("../../utilities/controller.php");

我相信这可以正确加载服务,因为当我使用Insomnia击中端点时,server/api/service/product.php文件中出现此错误

警告:require_once(../ model / product.php):无法打开流:第2行的C:\ full path remove \ server \ service \ product.php中没有此类文件或目录

致命错误:require_once():无法打开所需的'../model/product.php'(include_path ='C:\ xampp \ php \ PEAR')

在我的server/service/product.php文件中,我有以下内容:

require_once("../model/product.php");
require_once("../database/product.php");

而且它首先失败了require_once

所以我对所有人的问题是,为什么控制器层中的相对路径可以工作,而服务层中的相对路径却会失败?

雷米

您也可以根据常量提供的文档使用__DIR__ 魔术常量:'文件目录。如果在include中使用,则返回包含文件的目录。这减少了通过相对路径出错的可能性。

例:

require_once(__DIR__ . "/../../service/product.php");

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章