On 2/4/26 10:03, Larry Garfield wrote:
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.


I imagine this is desirable when one moves away from defining setters and uses property hooks instead.

Cheers,
Ben

Reply via email to