@tester_toster

Почему при использовании composer для генерации автозагрузки пакета не создается один класс пакета в другом?

В корне composer.json:
{
    "autoload": {
        "psr-4": {
	        "VendorName\\test\\": "vendor\\VendorName\\test"
    	}
    }
}

Пакет в папке vendors/VendorName\test;
В корне пакета 3 файла:
A.php:
<?php
namespace VendorName\test;
Class A
{
	public function __construct()
        {
	}
}

B.php:
<?php
namespace VendorName\test;
use VendorName\test A as A;

Class B
{
	public function __construct()
        {
                return new A;
	}
}

И composer.json:
{
    "name": "VendorName/test",
    "description": "описание",
    "version": "версия",
    "license": "лицензия",
	"autoload": {
        "psr-4": {
            "VendorName\\test\\": ""
        }
    },
}

При создании:
var_dump(New VendorName\test\B);
Выдает ошибку:
Uncaught Error: Class 'VendorName\test\A' not found in C:\dev\testApp\vendor\VendorName\test\B.php
  • Вопрос задан
  • 193 просмотра
Решения вопроса 1
skobkin
@skobkin
Гентушник, разработчик на PHP и Symfony.
use VendorName\test A as A;
Что вы здесь пытаетесь сделать?

Uncaught Error: Class 'VendorName\test\A' not found in C:\dev\testApp\vendor\VendorName\test\B.php

А как выглядят полные пути к файлами A.php и B.php?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы