Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:123526 X-Original-To: internals@lists.php.net Delivered-To: internals@lists.php.net Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5]) by qa.php.net (Postfix) with ESMTPS id 069381A009C for ; Wed, 5 Jun 2024 18:48:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1717613403; bh=RpwYeYMBfjOPT7RLxejQrrE3jogixfkz/jpxFx4Q3tY=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=PO1ucXVZaun5OoEoLbDrw34kTNFtcne96STXLN8+lYkZ+sSbI612ucbBpm6qTwCS1 4gxuzxQ/ssRC9vvvfGJM+IURlMWli1Cd/oNrR64L+kxLyFdhHqRAI4lLI8vVzTMHij FG3CKMI40oPui9wCnAedMcKYQNcpiH04jJRqlca9OoR1KsEBsEz4LBFLFW+fla2bs+ GVnV1dKjuy8w1XIycruFlsD3XusFpU6xK8s0VyL8P3mvvZ63UE+jEjdkpV5ZQDJGpZ cE8CKdssUkt+UODpyYU01uleNh/kxBpJKDOiEo1d1evVKgbEvXQzz/Utuxs2VO9LHV 7vbGky7wEkR4Q== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id BEB24180679 for ; Wed, 5 Jun 2024 18:50:02 +0000 (UTC) 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_PASS,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: Error (Cannot connect to unix socket '/var/run/clamav/clamd.ctl': connect: Connection refused) X-Envelope-From: Received: from chrono.xqk7.com (chrono.xqk7.com [176.9.45.72]) (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 ; Wed, 5 Jun 2024 18:50:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bastelstu.be; s=mail20171119; t=1717613336; bh=uuqTijQMaiFcjkI+P7bxkZLcZ1MdPH/I4Ip5xSlZuis=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type:from:to:cc:subject:message-id; b=A2xjRWh39SaZPfBZYkcthk/e1LeVnIW997VpNWDyb4lt+i48SszY7v4l9dMZzK0Rz LA9vc05H25ptQH7swug1wDffeWSHlt/hOklcDZlNlgbhcYZwZh8jUYkRd/zsw4Phuw x67GZ9KruEST3yABqC+rlD7dVK3GviUc6PaoTd14vykKraEb6rzUBEKC8w5vP7GHbi sieTsMXueW2xYRN221m13/o1yphrsf05qjqtctIUOFKs78hzTUONe5qxhf/S8feDSu +575pj64NVffirsavGvrl9vYWX97muH75U1jKiZcN1HBSmq6ektXkA0uH/O5uAA6LV BB+tXbTm08Mfg== Message-ID: Date: Wed, 5 Jun 2024 20:48:55 +0200 Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net MIME-Version: 1.0 Subject: Re: [PHP-DEV] [RFC] Lazy Objects To: Nicolas Grekas , Valentin Udaltsov Cc: PHP Internals List , Arnaud Le Blanc References: Content-Language: en-US In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit From: tim@bastelstu.be (=?UTF-8?Q?Tim_D=C3=BCsterhus?=) Hi On 6/5/24 17:25, Nicolas Grekas wrote: > Yes! > See https://github.com/nicolas-grekas/symfony/pull/44 for Symfony. All the > complex code is gone \o/ > [...] > For Doctrine, the URL is > https://github.com/nicolas-grekas/doctrine-orm/pull/6 for now, with the > most important line being the removal of the symfony/var-exporter > dependency. Thank you, I'll have a look at it when I have the time. > The RFC isn't updated but below is what we have in our drafts. Let me know > what you think already if you want (otherwise, let us work on the updated > implementation/RFC and we'll let you know about them ASAP). I've already mentioned in the sub-thread with Larry that this is also what I had in mind after Arnaud's clarification, so that sounds good to me. I'll give the RFC another full read once you finished incorporating the existing feedback. Doesn't really make sense to give feedback on something that still is in-flux and that after all might not exist in the updated proposal. > PS: I understand that the concepts in the RFC might be difficult to grasp. > They were certainly challenging for me to summarize. I would happily accept > any help to improve the wording if anyone is willing. I've already said it in my email to Arnaud: Examples showcasing the usage of the API in a (simplified) real-world use case would definitely help making the RFC easier to understand. And for me it is important that any interactions with the existing functionality [1] are explicitly spelled out. I'm happier spending the time reading an RFC that is five times as long, but clearly defines the entire behavior, than reading an RFC that leaves many open questions that will end up being "implementation-defined" rather than fully thought-through. Best regards Tim Düsterhus [1] e.g. my WeakReference question, instanceof behavior, whether or not private properties are accessible in the initializer, readonly, etc.