On Wed, Feb 4, 2026, at 9:50 AM, Ivan Borzenkov wrote:
> 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