我的项目中具有以下文件结构:
+ 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] 删除。
我来说两句