this post was submitted on 18 Jul 2023
2 points (100.0% liked)

PHP

33 readers
3 users here now

founded 2 years ago
 

Hi! In the realm of software development, creating complex objects often feels like trying to solve a...

you are viewing a single comment's thread
view the rest of the comments
[–] abhibeckert 1 points 2 years ago* (last edited 2 years ago)

You've missed out on the biggest feature in PHP 8. With named arguments it's now possible for arguments to be provided in any order. You can now have functions with a large number of optional parameters, without creating a total shit show.

Instead of writing this:

$product = $productBuilder
    ->setId(101)
    ->setName('iPhone 13')
    ->setPrice(999.99)
    ->setDescription('New iPhone 13 with A15 Bionic chip')
    ->setManufacturer('Apple Inc.')
    ->setInventory(1000)
    ->setDiscount(10)
    ->build();

You can now do this:

$product = $productBuilder->set(
    id: 101,
    name: 'iPhone 13',
    price: 999.99,
    description: 'New iPhone 13 with A15 Bionic chip',
    manufacturer: 'Apple Inc.',
    inventory: 1000,
    discount: 10
)->build();