Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 找不到使用composer自动加载的类_Php_Composer Php_Slim - Fatal编程技术网

Php 找不到使用composer自动加载的类

Php 找不到使用composer自动加载的类,php,composer-php,slim,Php,Composer Php,Slim,我的文件结构如下所示 / /app/ /app/logs/ /app/templates/ /app/index.php /public_html/ /public_html/.htaccess /public_html/index.php /vendor /vendor/(all vendor here) 我的vhost指向/public\u html 在app/Index.php中 namespace App; class Index {} Composer.json "autoloa

我的文件结构如下所示

/
/app/
/app/logs/
/app/templates/
/app/index.php
/public_html/
/public_html/.htaccess
/public_html/index.php
/vendor
/vendor/(all vendor here)
我的vhost指向/public\u html

在app/Index.php中

namespace App;

class Index {}
Composer.json

"autoload":
{
    "psr-0":
    {
        "App\\":  "app/"
    }
}
但它仍然显示为(!)致命错误:在第34行的C:\wamp\www\project\public\u html\Index.php中找不到类“App\Index”

第34行:

new \App\Index();

如果这很重要的话,也可以使用Slimframework,我想不出哪里出了问题

因为您使用的是PSR-0标准,PHP正在查找不存在的文件
app/app/Index.PHP
。请注意,在PSR-0中,您定义了一个基本目录(
app
,在您的示例中),可以在其中找到映射的命名空间(
app
)。但是,该基目录中的文件结构应该与完全限定的类名完全匹配。因此类
App\FooBar
应该在文件
App/App/FooBar.php
中。请注意,
app
是基本目录,
app
是包含该名称空间的所有子目录和PHP文件的目录


由于您的应用程序中并非如此(而且PSR-0已被弃用),因此您应该(正如您已经做的那样)使用新的自动加载标准PSR-4。在PSR-4中,您可以直接将某个命名空间映射到某个目录。在您的例子中,您已将
App
名称空间映射到
App
目录,这样,如果需要使用
App\Index
类,PHP将打开
App/Index.PHP
文件。

psr-0似乎失败,将其更改为psr-4可以:)