Swoft中使用Inject ,with @xxx must be define class annotation
- Demo继承一个父类,然后父类中使用inject注入一个bean,这个时候会报错,
- with
@xxx
must be define class annotation - 提示的错误信息是,使用属性注解必须有类注解,,问题是父类中应该不需要有类注解的么?不懂求解
- 父类中怎么处理,不懂!!
DemoCommand
<?php declare(strict_types=1);
namespace App\Console\Command;
use Swoft\Console\Annotation\Mapping\Command;
use Swoft\Console\Annotation\Mapping\CommandMapping;
/**
* @Command()
*/
class DemoCommand extends CommCommand
{
/**
* @CommandMapping()
*/
public function test(): void
{
$this->tests();
var_dump("test_demo");
}
}
CommCommand
<?php declare(strict_types=1);
namespace App\Console\Command;
use App\Service\DemoService;
use Swoft\Bean\Annotation\Mapping\Inject;
class CommCommand
{
/**
* @Inject()
* @var DemoService
*/
private $d;
public function tests() {
$this->d->demo();
var_dump("tests");
}
}
DemoService
<?php declare(strict_types=1);
namespace App\Service;
use Swoft\Bean\Annotation\Mapping\Bean;
/**
* @package App\Service
* @Bean(name="demoservice", scope=Bean::PROTOTYPE)
*/
class DemoService {
public function demo() {
var_dump("demo");
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论