PHP-DI注释不工作



我使用composer在一个新的自定义项目中安装了php-di 4.4。我用php 5.6.3运行一个xampp localhost,但我在这个项目上为php 5.4设置了netbeans。我是php-di的新手,我确实在我的android项目中使用了注释,但似乎不能让它在这里工作。代码很简单,我正在测试注入看看它是如何工作的,下面是代码:

// composer autoload
require_once __DIR__ . '/vendor/autoload.php';
// injection entry point
$builder = new DIContainerBuilder();
$container = $builder->build();
class ClassA
{
    public function methodA()
    {
        echo 'methodA';
    }
}
class ClassB
{
    /**
     * @Inject
     * @var ClassA
     */
    public $param;
    public function methodB()
    {
        $this->param->methodA();
    }
}
$b = new ClassB();
$b->methodB();

是我得到的错误:在D:Projectsprofitest.php第27行

这是基本的实现,我不明白为什么它不注入。

提前感谢。

PHP-DI不能神奇地拦截当你创建B(注入A到B),你必须使用PHP-DI创建B:

$b = $container->get('ClassB');
$b->methodB();

相关内容

  • 没有找到相关文章

最新更新