Hello
As i read in https://wiki.php.net/rfc/howto write here “concept”.
For fill dto and other same objects need assign to many fields of on
object, before properties was be use return $this in setters and code
loos like this
$item
->setType(Item::TYPE_CLOUT)
->setProduct($product)
->setPrice($price)
and it was single operator, but it not work with simple property or
get-set function need write
$item->type = Item::TYPE_CLOUT;
$item->product = $product;
$item->price = $price;
suggest add operator like with in c# which do action and back context
back and use for example :>
same assign will be look like this
$item
:>type = Item::TYPE_CLOUT
:>product = $product
:>price = $price
;
Hello
As i read in https://wiki.php.net/rfc/howto write here “concept”.
For fill dto and other same objects need assign to many fields of on
object, before properties was be use return $this in setters and code
loos like this$item
->setType(Item::TYPE_CLOUT)
->setProduct($product)
->setPrice($price)and it was single operator, but it not work with simple property or
get-set function need write$item->type = Item::TYPE_CLOUT;
$item->product = $product;
$item->price = $price;suggest add operator like with in c# which do action and back context
back and use for example :>
same assign will be look like this$item
:>type = Item::TYPE_CLOUT
:>product = $product
:>price = $price
;
These days, such objects usually have promoted properties in their constructor, and we have named arguments, which allows this already:
readonly class Item {
public function __construct(
public int $type,
public Product $product,
public float $price,
) {}
}
$item = new Item(
type: Item::TYPE_CLOUT,
product: $product,
price: $price
);
In what way is that insufficient? True it only works on the constructor, but commonly such objects are only assigned to in the constructor.
--Larry Garfield
Hello
As i read in https://wiki.php.net/rfc/howto write here “concept”.
For fill dto and other same objects need assign to many fields of on
object, before properties was be use return $this in setters and code
loos like this$item
->setType(Item::TYPE_CLOUT)
->setProduct($product)
->setPrice($price)and it was single operator, but it not work with simple property or
get-set function need write$item->type = Item::TYPE_CLOUT;
$item->product = $product;
$item->price = $price;suggest add operator like with in c# which do action and back context
back and use for example :>
same assign will be look like this$item
:>type = Item::TYPE_CLOUT
:>product = $product
:>price = $price
;These days, such objects usually have promoted properties in their constructor, and we have named arguments, which allows this already:
readonly class Item {
public function __construct(
public int $type,
public Product $product,
public float $price,
) {}
}$item = new Item(
type: Item::TYPE_CLOUT,
product: $product,
price: $price
);In what way is that insufficient? True it only works on the constructor, but commonly such objects are only assigned to in the constructor.
I imagine this is desirable when one moves away from defining setters
and uses property hooks instead.
Cheers,
Ben