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

Reply via email to