Попытка использовать лигу/контейнер выдает ошибку.Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Попытка использовать лигу/контейнер выдает ошибку.

Сообщение Anonymous »

Я пробую пример кода из контейнера thephpleague, найденного по адресу: https://container.thephpleague.com/4.x/, и то, что у меня есть, довольно простое, ИМХО.
Примечание: автоматическая загрузка PSR-4 была настроена в композиторе.json и композитор du был выполнен.

Код: Выделить всё

require __DIR__.'/../vendor/autoload.php';

use App\Service\FooBar;
use App\Service\Bar;

$container = new \League\Container\Container();
$container->add('foobar', FooBar::class)->addArgument(Bar::class);
$container->add('bar', Bar::class);

$foo = $container->get('foobar'); //
Последняя строка выше выдает ошибку:

Uncaught TypeError: App\Service\FooBar::__construct() : Аргумент №1 ($bar) должен иметь тип App\Service\Bar, заданную строку

Определенные классы

Код: Выделить всё

// file: FooBar.php
namespace App\Service;

class FooBar {

private $bar;

/**
* @param \App\Service\Bar $bar
*/
public function __construct(Bar $bar) {
$this->bar = $bar;
var_dump('Constructor of '. __CLASS__ . ' called!');
}

public function getBar() {
return $this->bar;
}
}

//file: Bar.php
namespace App\Service;

class Bar {

public function __construct() {
var_dump('Constructor of ' . __CLASS__ . ' called!');
}
}
Если я зарегистрирую в контейнере следующее, я не получу ошибку.

Код: Выделить всё

$container->add(Bar::class);
Я пытаюсь понять, в чем проблема с первым фрагментом кода из примера.

Подробнее здесь: https://stackoverflow.com/questions/786 ... ives-error
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»