Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:122193 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 62435 invoked from network); 19 Jan 2024 15:53:32 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 19 Jan 2024 15:53:32 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1705679653; bh=yqh5N9EjqwCFJEAlnBQsfWfgK80nPiCmvKjTCCI8xJ0=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=dElkXtUguI56fFqKSN4O4mT9I0L5hbKLWX8EupK4h31miMdugfKsgasmdzjHpYeLn 44ocb0J2HEosCyRcW5NU5lMKdK0UfL9OU43UJnsCEIsh0Ot57Y0N5ScTvH0XtqcLVh cUQd32yqJtN5ELvOrQvERTQ2RVuCjTO02eWNh8yKenpDIs9e5Z39BU0Gi9J18O6P5O MCgQqJnWREUoWz+n3fWKuH+J4rcRI+yZBiKNPrTmO5NBlZg8PGhQO6zWB9RGNQCYkl bzy7d8Ftw/YiMm4RonTzc8S8pKSV9mTr30mxpLHW4ngVYeJ+dwFzTnLtb2Xcy3oA6E ajX+DuWMMVcFw== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id CB84518005A for ; Fri, 19 Jan 2024 07:54:12 -0800 (PST) X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=0.6 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_MISSING, RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: No X-Envelope-From: Received: from relay.yourmailgateway.de (relay.yourmailgateway.de [188.68.63.166]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Fri, 19 Jan 2024 07:54:12 -0800 (PST) Received: from mors-relay-8202.netcup.net (localhost [127.0.0.1]) by mors-relay-8202.netcup.net (Postfix) with ESMTPS id 4TGkfx6qfyz3v8F; Fri, 19 Jan 2024 16:53:29 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=xpple.dev; s=key2; t=1705679610; bh=yqh5N9EjqwCFJEAlnBQsfWfgK80nPiCmvKjTCCI8xJ0=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=C7B6PATLDv4V7wPj5NVI400OmTfmJvpd5LdA6YJ4dpkZyRHaxZhbqbV/jjHJ0e5+f oii8v6b4VbWvRvp03nXzeqwFUSjFEqMTaObqjks9/Uwcza/VHxlT2Np3f/XdHm0GtB QfNCVYC6sQABydenZ2dilgmSg7E+31RKMtyWnkxxTMgBZJimrxFJE/ZK4ereHs8lRK atMx8czP1UW0a7LIcoh6ngkA/jMcgldoPlmk7/JHA5ZChshfgaAsZmDLsCcbd9MJd4 kfIgWz4gtpU+jmsy+mqIzLIoVV/bJyYcHLsbEYFeC4RGo41iCZikpZrHgYH2qi8KWn jiz3tPEaMkWTg== Received: from policy02-mors.netcup.net (unknown [46.38.225.35]) by mors-relay-8202.netcup.net (Postfix) with ESMTPS id 4TGkfx6PJhz3tb3; Fri, 19 Jan 2024 16:53:29 +0100 (CET) Received: from mxe938.netcup.net (unknown [10.243.12.53]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by policy02-mors.netcup.net (Postfix) with ESMTPS id 4TGkfw6tVtz8sb7; Fri, 19 Jan 2024 16:53:28 +0100 (CET) Received: from webmail01.netcup.net (unknown [46.38.249.153]) by mxe938.netcup.net (Postfix) with ESMTPA id 93C5060CA2; Fri, 19 Jan 2024 16:53:24 +0100 (CET) Authentication-Results: mxe938; spf=pass (sender IP is 46.38.249.153) smtp.mailfrom=php@xpple.dev smtp.helo=webmail01.netcup.net Received-SPF: pass (mxe938: connection is authenticated) MIME-Version: 1.0 Date: Fri, 19 Jan 2024 16:53:24 +0100 To: Alexander Pravdin Cc: Saki Takamachi , Niels Dossche , internals@lists.php.net In-Reply-To: References: <6246AF4D-C204-443C-9056-F662E59AA687@sakiot.com> User-Agent: Roundcube Webmail/1.4.15 Message-ID: <7da714b5521026d9c2b556656bdf1d7c@xpple.dev> X-Sender: php@xpple.dev Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit X-PPP-Message-ID: <170567960470.3682979.7358623380948571203@mxe938.netcup.net> X-Rspamd-Queue-Id: 93C5060CA2 X-Rspamd-Server: rspamd-worker-8404 X-NC-CID: XOsLyflq8kBH2wNDf4ny1IbMms8mDte2hNquZ6s= Subject: Re: [PHP-DEV] `PDO::FETCH_CONSTRUCTOR` fetch mode proposal From: php@xpple.dev Hi Alexander, > I would also suggest supporting readonly classes and creating special > attributes to help map data fields to constructor arguments. Something > like > this: > > readonly class User { > public function __construct( > #[PDOField('user_id')] > public string $userId, > #[PDOField('user_name')] > public string $userName, > #[PDOField('user_address')] > public ?string $userAddress = '', // Optional field with > default > value > ); > } When the constructor is used to create the class, readonly classes should be automatically supported by this new fetch mode right? And indeed, it would be useful to use named parameters if available. I overlooked this possibility in my response to Saki. Kind regards, Frederik van der Els