class TestDataHandler extends AbstractHandler {
/** @var RepositoryManagerInterface */
protected $repositoryManager;
/** @var SessionManagerInterface */
protected $sessionManager;
/** @var SessionDataModifyInterface */
protected $sessionDataModify;
public function __construct (
RepositoryManagerInterface $repository,
SessionManagerInterface $sessionManager,
SessionDataModifyInterface $sessionDataModify
)
{
$this->repositoryManager = $repository
$this->sessionManager = $sessionManager;
$this->sessionDataModify = $sessionDataModify;
}
public function handle($command)
{
// берет то что в сессии, что то с этими данными делает
$users = $this->sessionDataModify->sort(
$this->sessionManage->getUsers()
);
// отом это дело идет в базу и оттуда берутся данные
$repository = $this->repositoryManager->getRepository(Users::class);
// метод в объекте репозитория, польчаем пользователей
if (!$usersList = $repository->findUsers($users)) {
// исключение
}
// записывая новые данные
$model = new YourModel(
$command->getId(),
$command->getYourParam()
//....
);
$this->repositoryManager->save($model);
// , затем идет подключение к стороннему сервису и что то делает
$response = $this->gate->push($usersList);
// возвразаем все в контроллер и далее уже в его респонс
return new ResponseDataFromGate($response)
}
}
/**
* Class AbstractAnimal
*/
abstract class AbstractAnimal
{
/**
* @var string
*/
private $name;
/**
* AbstractAnimal constructor.
* @param string $cat_name
*/
public function __construct(string $cat_name)
{
$this->name = $cat_name;
}
/**
* @return string
*/
public function getName(): string
{
return $this->name;
}
}
/**
* Interface CatInterface
*/
interface CatInterface
{
/**
* @return string
*/
public function meow();
}
/**
* Class Cat
*/
class Cat extends AbstractAnimal implements CatInterface
{
/**
* @return string
*/
public function meow(): string
{
return 'Cat ' . $this->getName() . ' is saying meow ';
}
}
$cat = new Cat('garfield');
echo $cat->meow();
echo '<hr>'. $cat->getName();
После вашего вопроса, я попробовал vs code+ xdebug
Конечно же я не использовал MAMP, но в остальном все летает. (brew install php7.1, php7.1-xdebug)
Плагин использовал https://marketplace.visualstudio.com/items?itemNam...
Все работает отлично. Но как я и говорил, xdebug есть в интерфейсе mamp. Но вы видимо проигнорировали ответ а теперь жалуетесь на произвол модераторов.
Не стыдно?
И это задача не мидла как вы поставили, а максимум джуна.
Мидл не будет использовать мамп, он лучше руки себе оторвет.