Я не могу загрузить локальный класс, используя composer.
Структура каталогов и файлы ключей следующие:
/vendor/pisukes/hello-world/composer.json
/vendor/pisukes/hello-world/src/HelloWorld.php
/vendor/autoload.php
/html/index.php
/composer.json
Composer. json под привет -world:
{
"name": "pisukes/hello-world",
"type": "library",
"minimum-stability": "dev",
"autoload": {
"psr-4": {
"HelloWorld\\": "src/"
}
}
}
Composer. json в root:
{
"repositories": [
{
"type": "path",
"url": "./vendor/pisukes/hello-world"
}
],
"require": {
"pisukes/hello-world": "@dev"
}
}
Вывод «composer update» не показывает ошибок:
Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Generating autoload files
HelloWorld. php:
namespace HelloWorld;
class SayHello
{
public static function world()
{
return 'Hello World!';
}
}
index. php:
require_once '../vendor/autoload.php';
use HelloWorld\SayHello;
echo SayHello::world();
Когда я запускаю "php index. php", я получить класс не найдена ошибка:
PHP Неустранимая ошибка: Uncaught Ошибка: Класс 'HelloWorld \ SayHello'
Если я переместить HelloWorld. php в / html каталог и обновите оператор require_once соответственно, я получаю ожидаемый вывод ...