класс не найден после дамп-автозагрузки композитора

У меня проблема с автозагрузкой компаса.
Если выполнить команду «composer dump-autoload», то появляется ошибка Класс не найден так как autoload_static.php изменилось.

У меня есть следующая структура проекта:

приложение
— общественности
—— index.php
— ЦСИ
—— WordToImage.php
— продавец
—— композитор
———— (любые файлы композитора)
———— autoload_static.php
composer.json

index.php

 require_once __DIR__ . '/../vendor/autoload.php';
use wti\src\WordToImage;

$loader = new WordToImage();
$loader->saveImages();

composer.json

{
"autoload": {
"psr-4": {
"wti\\" : "src/"}
}
}

autoload_static.php

<?php

// autoload_static.php @generated by Composer

namespace Composer\Autoload;

class ComposerStaticInit416f5acb57c46a86bf05d897e056b40d
{
public static $prefixLengthsPsr4 = array (
'w' =>
array (
'wti\\' => 4,
),
);

public static $prefixDirsPsr4 = array (
'wti\\' =>
array (
0 => __DIR__ . '/../..' . '/src/WordToImage.php',
),
);

public static $classMap = array (
'wti\\src\\WordToImage' => __DIR__ . '/../..' . '/src/WordToImage.php',
);

public static function getInitializer(ClassLoader $loader)
{
return \Closure::bind(function () use ($loader) {
$loader->prefixLengthsPsr4 = ComposerStaticInit416f5acb57c46a86bf05d897e056b40d::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInit416f5acb57c46a86bf05d897e056b40d::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInit416f5acb57c46a86bf05d897e056b40d::$classMap;

}, null, ClassLoader::class);
}
}

Когда я выполняю команду «composer dump-autoload», тогда autoload_static.php изменено

<?php

// autoload_static.php @generated by Composer

namespace Composer\Autoload;

class ComposerStaticInit416f5acb57c46a86bf05d897e056b40d
{
public static $prefixLengthsPsr4 = array (
'w' =>
array (
'wti\\' => 4,
),
);

public static $prefixDirsPsr4 = array (
'wti\\' =>
array (
0 => __DIR__ . '/../..' . '/src',
),
);

public static function getInitializer(ClassLoader $loader)
{
return \Closure::bind(function () use ($loader) {
$loader->prefixLengthsPsr4 = ComposerStaticInit416f5acb57c46a86bf05d897e056b40d::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInit416f5acb57c46a86bf05d897e056b40d::$prefixDirsPsr4;

}, null, ClassLoader::class);
}
}

И когда я запускаю проект, появляется ошибка (класс не найден). Пожалуйста, скажите мне, почему это строки:

0 => __DIR__ . '/../..' . '/src/WordToImage.php'
'wti\\src\\WordToImage' => __DIR__ . '/../..' . '/src/WordToImage.php',

удаляются

0

Решение

Две вещи:
1. Определение автозагрузчика psr-4 принимает массив каталогов в качестве значения для пространства имен:

{
"autoload": {
"psr-4": {
"wti\\": ["src/"]
}
}
}
  1. Как уже упоминалось @ndufreche: Попробуйте use wti\WordToImage;
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector