@kapai69

Как передать параметром интерфейс?

Есть класс и интерфейс
<?php
class Test
{
	public function __construct(SomeInterface $someInterface){
			$this->someInterface = $someInterface;	
	}
}

interface SomeInterface 
{
	public function foo($tmp){}
}

Как передать интерфейс в экземплар класса Test?
  • Вопрос задан
  • 2284 просмотра
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега PHP
class Test
{
    public function __construct(SomeInterface $someInterface)
    {
        $this->someInterface = $someInterface;
    }
}

interface SomeInterface
{
    public function foo($bar);
}

class SomeClass implements SomeInterface
{
    public function foo($bar)
    {
    }
}

$a = new SomeClass("bar");

$b = new Test($a);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Интерфейс - никак. Объект реализующий интерфейс - легко. Поймите в чем разница и будет вам счастье.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽