Я делаю проект в Composer с использованием Eclipse PDT , однако каждый раз, когда я добавляю файл в каталог ниже базовой директории composer, программа запуска phpunit больше не может найти мой файлы.
Как минимум 2 раза я немного повозился и снова заработал, но, похоже, он ломается каждый раз, когда я меняю файловую систему. Я хотел бы, чтобы автозагрузчик Composer находил мои файлы независимо от изменений fs.
Вот моя последняя конфигурация автозагрузчика:
{
"name": "someone/webapp",
"description": "",
"require-dev": {
"phpunit/phpunit":"~9.0",
"squizlabs/php_codesniffer": "~3.0"
},
"require": {
"doctrine/orm": "~2.7"
},
"autoload" : {
"psr-4": {
"WebApp\\": "src/"
}
},
"autoload-dev" : {
"psr-4": {
"WebApp\\Tests\\" : "tests/"
}
}
}
Я ранее пробовал свой автозагрузчик с PSR-0-совместимым стандарт:
{
"name": "srmes/shopping-app-test",
"description": "Developer test. Basic OO-orientated PHP webapp",
"require-dev": {
"phpunit/phpunit":"~9.0",
"squizlabs/php_codesniffer": "~3.0"
},
"require": {
"doctrine/orm": "~2.7"
},
"autoload" : {
"classmap": ["src/", "src/Models/"],
"psr-0": {
"WebApp\\": "src/",
"WebApp\\Models\\": "src/Models/"
}
},
"autoload-dev" : {
"classmap": ["tests/", "tests/Models/"],
"psr-0": {
"WebApp\\Tests\\" : "tests/"
}
}
}
Мой вопрос касается добавления файлов в каталоги автозагрузки. Моя структура каталогов выглядит следующим образом:
someone/webapp
|-vendor
| |-MISC_PACKAGES
|- src --autoloader base dir
| |-Models
| | |-Product.php
| | |-Furniture.php
| |- IComparable.php -- THIS WAS ADDED, BREAKING AUTOLOADER
|- tests -- autoloader base dir
| |- Models
| | |- FurnitureTest.php
| | |- IProductTest.php
| |-bootstrap.php
Редактировать:
Как показано в моем комментарии ниже, я обнаружил, что эта проблема связана с автозаполнением Eclipse PDT работает только после того, как была сделана фиксация на git с последующими новыми composer require
операторами и т. д. c., что для меня не идеально, так как я хотел бы поэкспериментировать с пакетными пакетами перед фиксацией