Robert Landers
Software Engineer
Utrecht NL
On Wed, Nov 29, 2023 at 9:36 AM Ayesh Karunaratne <[email protected]> wrote:
>
> >
> > try {
> > // do stuff
> > } catch(Throwable $exception) {
> > $this->logger->error("failed to do stuff", compact('exception'));
> > throw $exception;
> > }
> >
>
> I wonder why not just create an array with the key...
>
> ```php
> try {
> // do stuff
> } catch(Throwable $exception) {
> $this->logger->error("failed to do stuff", ['exception' => $exception]));
> throw $exception;
> }
> ```
>
> It's a few more characters of course, but I would pick the readability
> and simplicity over the potential typos (which the IDE should point
> out) and a few key presses it saves.I
Hey Ayesh,
Yeah, this is very much a personal preference kind of thing. I choose
compact not because it is shorter to type, but because typos are a
thing if you've been around PHP for awhile... who hasn't opened a
function written 15 years ago with a misspelled variable that you want
to fix but it has been that way for 15 years, so you don't fix it.
I've also used compact inside array_maps like:
$arr = array_map(function($a) {
$name = $a['first'] . " " . $a['last'];
// more mappings
return compact('name', ...);
}, $arr);
just because it is easier to type/read than a bunch of array accesses.
Possibly faster as well, but if it is, it's by nano-seconds.
Robert Landers
Software Engineer
Utrecht NL
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: https://www.php.net/unsub.php