Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:106969 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 43134 invoked from network); 12 Sep 2019 17:25:44 -0000 Received: from unknown (HELO php-smtp3.php.net) (208.43.231.12) by pb1.pair.com with SMTP; 12 Sep 2019 17:25:44 -0000 Received: from php-smtp3.php.net (localhost [127.0.0.1]) by php-smtp3.php.net (Postfix) with ESMTP id 5CEC02D19AD for ; Thu, 12 Sep 2019 08:01:39 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp3.php.net X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS3215 2.6.0.0/16 X-Spam-Virus: No Received: from mail-pl1-x634.google.com (mail-pl1-x634.google.com [IPv6:2607:f8b0:4864:20::634]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by php-smtp3.php.net (Postfix) with ESMTPS for ; Thu, 12 Sep 2019 08:01:38 -0700 (PDT) Received: by mail-pl1-x634.google.com with SMTP id x3so11894607plr.12 for ; Thu, 12 Sep 2019 08:01:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=AX78zs5tIG2EgG2tx7M+YBeZBAIhXsBlWjqv9yUBf4U=; b=CRrjxMJrrRraxnGoEIPYdFMdN51C//zzS3SVU83Mrop3Tts4iQkIXHGqc9P3hpKIYz kgOnVUvvx1h8DTCID42f5sfgbLXX6SbbxJ4N4HXfJW9wJy2oPW+OC3REAX287eFqlCdt xR1Pv4nuCvVdjbOHjFDPph8mLntWP7FYyuQZZ9n1f/+fFPrzAPZBaNt9S72pZ70vz5FA icgLfyvA5/xQUCL7kyjRMIaG5YO+6GrkkOxLxUpMmW1VpUYYdaSjrnO7pt3cjLnaV5SP yeJeHwZXCyta9mohfsmBBqipGJ4FBo6VHfvl0roZwdYNG6c5xV+OcGcpd97mA6A3yXTN QRqA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=AX78zs5tIG2EgG2tx7M+YBeZBAIhXsBlWjqv9yUBf4U=; b=O+Il6YnAO27EEjKpAbxizm+1YKKAC/boMX9V9WvYlOwHvAhVaA6y9vM/S9nriPa25y QWFiR63JwG7/3PlguzhtWjr5atfomCQPADzKY5WbW4F9BJ5B5OPwLCHwuPQ1Yd56Wsrh KjQBByFMUwWRHDCa035dIS0L+MV++G33WCc/3jGew6NZxc9VSThkYi98FrwDHABOz6+S RNpXExOuKqlyHJQTTKqyjOlCOqPxAUWZFeWL50jOG7zCuoUJl28hP0YfHJfMdq3lo/Hz ChkZHKwcorXkuFkYBKUHskYxypUwtbWXQi+Ew+WHmUNSU7+OqkaZM8hmyTM+8shDqhk8 opEQ== X-Gm-Message-State: APjAAAXzO8+PmpZzmVbqPlEaoON/+UskrvWvaW2GepHkbmLnuwGSnreE yM22T52Nr/O1PeStzSyQn/r77ZjhlwbzlfvVxVPTMbF/ X-Google-Smtp-Source: APXvYqxuCiyCd1sm51H8ERidRQoQibLpRdrGafb2Uk0lEYZ0P2nC9FfepiRnID2vTgUepvCQAT8MeSRsyLbJdYVQ7wg= X-Received: by 2002:a17:902:8686:: with SMTP id g6mr43652452plo.175.1568300497697; Thu, 12 Sep 2019 08:01:37 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: Date: Thu, 12 Sep 2019 17:01:13 +0200 Message-ID: To: =?UTF-8?Q?Micha=C5=82_Brzuchalski?= Cc: PHP Internals List Content-Type: multipart/alternative; boundary="0000000000001103ae05925c6afc" X-Envelope-From: Subject: Re: [PHP-DEV] [RFC] Object Initializer From: kjarli@gmail.com (Lynn) --0000000000001103ae05925c6afc Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, Sep 12, 2019 at 4:00 PM Micha=C5=82 Brzuchalski < michal.brzuchalski@gmail.com> wrote: > Hi internals, > > I'd like to open discussion about RFC: Object Initializer. > > This proposal reduces boilerplate of object instantiation and properties > initialization in case of classes without required constructor arguments = as > a single expression with initializer block. > > https://wiki.php.net/rfc/object-initializer > > I appreciate any feedback you all can provide. > > Thanks, > -- > Micha=C5=82 Brzuchalski > brzuchal@php.net > > Heya, What's the added benefit of this compared to implementing a constructor? The part I like is that this can be used to replace stdClass/structured arrays. Perhaps something like this would nice to have in PHP: ``` $people =3D []; foreach ($peopleFromDatabase as [$id, $username, $name]) { $people[] =3D { Uuid id =3D> $id, string username =3D> $username, string name =3D> $name, }; // and possible automatic assignment: $people[] =3D {Uuid $id, string $username, string $name}; } ``` Regards, Lynn van der Berg --0000000000001103ae05925c6afc--