У меня был рабочий пакет композитора с отдельными файлами и одним классом.Итак, теперь я пытаюсь изменить пакет так, чтобы он больше походил на SOLID.
У меня есть такая файловая структура ...
PackageName.php
addresses.php
names.php
interfaces
names.php
addresses.php
Когда я использую методы PHPSpecв основном PackageName.php проверяются, но в одном из методов у меня есть что-то вроде ...
namespace blah\PackageName;
use blah\PackageName\ProcessNames;
class PackageName
{
public function formatData($user)
{
$place_holders = array();
$place_holders = ProcessNames::process_name($user, $place_holders);
$place_holders = ProcessAddresses::process_address($user, $place_holders);
return json_encode($place_holders);
}
}
, которое выдает ошибку ...
48!должен сделать исключение адреса [err: Error ("имя класса" blah \ PackageName \ ProcessNames 'not found ")] было выдано.
composer.json похож на ...
{
"name": "blah\PackageName",
"description": "Format data.",
"require": {
"nesbot/carbon": "^1.34",
"php": ">7.0.0"
},
"require-dev": {
"phpspec/phpspec": "^4.3"
},
"authors": [
{
"name": "me",
"email": "me@emailaddress.com"
}
],
"autoload": {
"psr-4": {
"blah\\PackageName\\": "src/",
"spec\\blah\\PackageName\\": "spec/"
},
"files": {
"src/interfaces/names.php",
"src/names.php"
}
}
}
Я не вижу, как включить файлы в пакет.Я не уверен, что мне нужна часть "files" в composer.json, но я пытаюсь понять, как это сделать.Любая информация высоко ценится.