我有一个具有这种结构的项目:
/root
/api/class/user.php
/api/autoload.php
/api/api.php
/index.php
在index.php
里面我需要(./api/autload.php
)
在autoload.php
内我需要(class/user.php
)和(api.php
)
如果我在autoload.php中创建用户实例没问题, 但如果我在api.php中创建一个用户实例,我就找不到类。
错误在哪里? 这个结构错了吗?我没有使用任何htaccess。
EDIT 我做了一些改变: 我将自动加载分成2个文件:
config.php -> I define some constant
autoload.php -> require config.php + require all my class
api.php -> I require autolaod.php
index.php -> I require api.php
现在似乎有效...结构对你来说是正确的吗?
autoload.php
define( "LIB_PATH", "lib" );
define( "CLASS_PATH", "class" );
require( LIB_PATH . "/jwt.php" );
require( CLASS_PATH . "/progetto.php" );
require( CLASS_PATH . "/azienda.php" );
require( CLASS_PATH . "/entrata.php" );
require( CLASS_PATH . "/uscita.php" );
require( CLASS_PATH . "/user.php" );
答案 0 :(得分:1)
根据您所写的内容,api.php不需要class / user.php。 class / user.php仅在index.php(通过autoload.php)和api.php(直接)中是必需的。
解决方案是在api.php文件中添加require('./class/user.php')
。
修改强>
好的方法是在autoload.php中拥有所有类文件的要求,并且需要自动加载到index.php,api.php和所有其他需要的新文件。
答案中的编辑现在看起来很好解决。