<slide>
<title>Object Instantiation with Named Arguments</title>

<blurb>PHP 8.0:</blurb>

<example inline="1">
&amp;lt;?php
class Settings
{
    function __construct(
        public bool   $includeDistillery   = true,
        public bool   $includeDescription  = true,
        public bool   $includeTastingNotes = false,
        public int    $pageSize            = 64,
        public string $sortByField         = 'whisky',
    ) {}
}
</example>
<div effect="fade-in">
<blurb>Instantiation with different includes:</blurb>
<example inline="2">
$settings = new \Settings(*includeDescription: false*);
</example>
</div>
<div effect="fade-in">
<blurb>Instantiation with different sort order:</blurb>
<example inline="2">
$settings = new \Settings(*sortByField: 'rating'*);
</example>
</div>
</slide>
