MartyIX
MartyIX

Reputation: 28686

How to automatically generate parameter assignations in class constructors in PhpStorm?

Does anyone know how to save typing in PhpStorm when you create a class constructor and you want to assign all the parameters to the respective class fields? I write it by hand now and I can do it quite quickly with the autocomplete feature, yet it is still a very tedious process.

For example:

class Foo
{
    private $param1; 
    private $param2;
    private $param3;    

    public function __construct($param1, $param2, $param3) {
          // Can I somehow automatically generate the following lines:
          //
          // $this->param1 = $param1;
          // $this->param2 = $param2;
          // $this->param3 = $param3;
          //
          //?
    }      
}

Upvotes: 19

Views: 7865

Answers (3)

Erlend ter Maat
Erlend ter Maat

Reputation: 51

If you move the cursor to the word '__constructor', within a second or two a lightbulb pops up. when you press it you get an option "Initialize properties". If you select that option a popup appears where you can specify for which argument you want to create and assign a property.

[Lightbulb[1]] Argument popup

Upvotes: 4

DGS
DGS

Reputation: 6025

In case you want to have PhpStorm generate the constructor too you can go to Code -> Generate -> Constructor. This will take care of inserting the parameters you want as well as their initialization.

Or press Alt+Insert and choose Constructor...

Upvotes: 7

LazyOne
LazyOne

Reputation: 165501

Use "Initialize fields" intention. For that: place caret on one of the parameters and invoke QuickFix menu (Alt + Enter or by clicking on light bulb icon).

enter image description here

Upvotes: 39

Related Questions