Php Composer和PSR-0类使用名称空间自动加载

Php Composer和PSR-0类使用名称空间自动加载,php,composer-php,psr-0,Php,Composer Php,Psr 0,大家好,我有问题自动加载我的类与作曲家。在Linux上所有的操作都很完美,但现在我的老板改变了环境并设置了Windows。所有这些在linux上工作,但windows显示新手致命错误: 致命错误:在中找不到类“AbstractController” 第7行的D:\xampp\htdocs\ikacFw\frontController.php 常见于查看我的composer.json和结构,以便更好地了解问题 结构是: frontController.php -- vendor ----- Do

大家好,我有问题自动加载我的类与作曲家。在Linux上所有的操作都很完美,但现在我的老板改变了环境并设置了Windows。所有这些在linux上工作,但windows显示新手致命错误:

致命错误:在中找不到类“AbstractController” 第7行的D:\xampp\htdocs\ikacFw\frontController.php

常见于查看我的composer.json和结构,以便更好地了解问题

结构是:

frontController.php

-- vendor
----- Doctrine
----- Ikac
--------- Components
---------- Mvc
------------- Controller
我正在尝试从供应商目录加载所有数据

Composer.json

{
    "autoload": {
        "psr-0": {
            "vendor": ""
        }
    }
}
此外,我还添加了新的组件手册。像这样:

$loader = require_once 'vendor/autoload.php'; 
$loader->add('vendor', "Ikac");
好的,接下来当我试着打电话时:

<?php
require_once 'vendor/autoload.php'; 

use Ikac\Mvc\Controller;


$a = new AbstractController();
你应该这样做

<?php
require_once 'vendor/autoload.php'; 

use Ikac\Mvc\Controller\AbstractController;


$a = new AbstractController();

您的自动加载声明错误

您永远不需要在任何自动加载中包含供应商文件夹。供应商文件夹将包含所有依赖项的自动加载,以及(如果已配置)您自己的类的自动加载


您可以使用Composer为自己的类创建自动加载。只需包含正确的信息。但从你目前的信息中,我无法推断出什么是正确的。

我已经这样做了,你可以在帖子中看到。当我再次添加\Controller时,我得到了一些错误no您错过了use关键字中的“AbstractController”最后一部分。当你“使用”一个类时,你必须指定完整的路径。当我在最后一部分添加AbstractController关键字时,我再次得到一个致命的错误:类“Ikac\Mvc\Controller\AbstractController”在\uuuuuuuuu中找不到为什么你认为这是一个错误的语句?同样的程序也使用Simfony框架。他们也有类似的声明。你能澄清一下你所有涉及的文件都在哪里吗?
frontController.php
在哪里,为什么
vendor
文件夹中的内容在那里?我想它是由Composer放在那里的——如果是这种情况,那么提到的
Composer.json
是错误的,调用
$loader->add()
.frontController.php的尝试也在根目录中。IDK这是我从linux复制到Windows的所有东西,就在这里我遇到了问题。在linux上,这项工作可能与权限有关?你能检查一下require是否有效吗?如果你使用Composer获取供应商目录的内容,那么应该自动加载这些内容。该“解决方案”声明“所有内容”都在“供应商”目录中。这可能是错误的。
{
    "autoload": {
        "psr-0": {
            "": "vendor/"
        }
    }
}
<?php
require_once 'vendor/autoload.php'; 

use Ikac\Mvc\Controller\AbstractController;


$a = new AbstractController();