簡體   English   中英

作曲家自動加載無法正常工作

[英]composer autoload wont work

我剛剛啟動了一個新的PHP項目,並且就在前面,我遇到了自動加載器的問題。 我搜索了錯誤並查閱了文檔( http://www.php-fig.org/psr/psr-4/ ),但問題仍然存在。

因此,我創建了一個最小的示例來縮小錯誤原因-但是,即使有了這個最小的示例,它也不會起作用:(

我的文件夾結構是這樣的:

+ src/
| + Xyz.php
+ composer.json
+ test.php

這是我的代碼

composer.json:

{
    "name": "sg/ABC",
    "description": "abc",
    "autoload": {
        "psr-4": {
            "sg\\ABC\\": "src/"
        }
    }
}

Xyz.php:

<?php namespace sg\ABC;
    class Xyz
    {}
?>

test.php:

<?php namespace sg\ABC;
    use sg\ABC\Xyz;
    $a = new Xyz();
?>

即使運行composer install顯示任何錯誤,運行代碼時我也立即收到此錯誤:

$ php test.php 
PHP Fatal error:  Class 'sg\ABC\Xyz' not found in /dir/x/test.php on line 5

Fatal error: Class 'sg\ABC\Xyz' not found in /dir/x/test.php on line 5

同樣,運行composer dump-autoload (如本板中的建議)也無濟於事

您仍然需要包括composer autoload.php文件以包括已加載的庫。

您需要使用自動裝帶器..通常是require_once "path/to/vendor/autoload.php"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM