php类未找到但存在

时间:2017-02-06 21:39:53

标签: php class structure

我有一个具有这种结构的项目:

/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" );

1 个答案:

答案 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和所有其他需要的新文件。

答案中的编辑现在看起来很好解决。