PhpStorm如何生成包含父类与子类全部属性的构造方法
在PhpStorm中让子类生成包含父类属性的构造方法
嘿,这个问题我也碰到过!PhpStorm默认确实只显示当前子类的属性,但其实它藏了个小功能能让你一次性生成包含父类属性的构造方法,操作很简单:
- 打开Generate菜单:在子类
Child的代码编辑界面,按下Alt + Insert(Windows/Linux)或者Cmd + N(Mac),也可以右键点击代码区选择「Generate」。 - 选择「Constructor」选项:在弹出的生成菜单里点选Constructor后,会出现一个属性选择对话框。
- 勾选父类的属性:这个对话框里默认只展示当前
Child类的$service2,但你可以展开上方的AbstractBase父类节点,勾选里面的$service1属性,同时保持子类$service2的勾选状态。 - 点击「OK」确认:PhpStorm就会自动帮你生成完全符合需求的构造方法——既包含父类属性的参数,自动调用
parent::__construct(),又会给子类的属性赋值。
生成后的代码就是你想要的样子:
public function __construct(Service1 $service1, Service2 $service2) { parent::__construct($service1); $this->service2 = $service2; }
另外提个小技巧:如果你的父类有多个层级,这个方法也适用,所有父类的属性都可以在对话框里找到并勾选哦。
内容的提问来源于stack exchange,提问作者anderson a
相关产品推荐
相关产品推荐

