Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:117186 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 22533 invoked from network); 2 Mar 2022 02:14:05 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 2 Mar 2022 02:14:05 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id E263F180382 for ; Tue, 1 Mar 2022 19:35:27 -0800 (PST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_LOW,SPF_HELO_PASS,SPF_NONE autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS19151 66.111.4.0/24 X-Spam-Virus: Error (Cannot connect to unix socket '/var/run/clamav/clamd.ctl': connect: Connection refused) X-Envelope-From: Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com [66.111.4.29]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Tue, 1 Mar 2022 19:35:27 -0800 (PST) Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id F22615C0151 for ; Tue, 1 Mar 2022 22:35:25 -0500 (EST) Received: from imap43 ([10.202.2.93]) by compute5.internal (MEProxy); Tue, 01 Mar 2022 22:35:25 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; bh=+WQOWREJ4gI0yy19d RTkcQBuYsJjU8mkXdKDyu1DQWM=; b=lqNHU1iEHgzA9TyTaSLHh4fNeNo5e+aCR 4upcLlR0Lylwki1yUk3ULymoCk3DdGUdANUA0FLoAcrD61ZcglsZS/ySR1f2pUr5 fgru2H1K+aac8Dtrs+Ua2Q3IWaenVCwMDDn2R9hi0OzotBhOTPs4nQRagGXw/JbS TNSwywqAAvTxk0Gej9p4rD6WvTMpZk0Arm9CrXT9GU9n8+3cBS863YPDvFOYiLg0 WNL3u4ge2AHJ0+ZGKKO57eg3XPDy9VeJCaLCgnXqjrHLQkJ1h3cS7WR5/MjObFCi L6qm4KSqkL4LpVQJ9UpA/7NChrmickdhXtJblysopW9zWe5jHLfoQ== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvvddruddtfedgheduucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepofgfggfkjghffffhvffutgesthdtredtreertdenucfhrhhomhepfdfnrghr rhihucfirghrfhhivghlugdfuceolhgrrhhrhiesghgrrhhfihgvlhguthgvtghhrdgtoh hmqeenucggtffrrghtthgvrhhnpeeglefgkeduiedvvdetffeujefftdfhjeeiveehgfff keduveektddvledvvdfffeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmh grihhlfhhrohhmpehlrghrrhihsehgrghrfhhivghlughtvggthhdrtghomh X-ME-Proxy: Received: by mailuser.nyi.internal (Postfix, from userid 501) id AADC6AC0E99; Tue, 1 Mar 2022 22:35:25 -0500 (EST) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.5.0-alpha0-4778-g14fba9972e-fm-20220217.001-g14fba997 Mime-Version: 1.0 Message-ID: <4c3537fd-5d55-4485-a115-b417950a82b9@www.fastmail.com> In-Reply-To: References: Date: Tue, 01 Mar 2022 21:35:05 -0600 To: "php internals" Content-Type: text/plain Subject: Re: [PHP-DEV] Interface for reflection entities who implements getAttributes method From: larry@garfieldtech.com ("Larry Garfield") On Tue, Mar 1, 2022, at 2:02 PM, DANIEL VARGAS MUCCILLO wrote: >> >> I *think* all Reflector children support attributes, so it may not need a >> separate interface. > > > ReflectionZendExtension and ReflectionExtension are currently the only ones > who implement Reflector but don't support attributes. > > >> However, the entire Reflection class hierarchy is a mess and needs a >> number of additional interfaces added to it generally. It makes sense to >> overhaul it holistically to make sure it all fits together. >> > > Was not aware of other cases, but a quick look led to: > > - getExecutingFile() : string and getExecutingLine() : int in > ReflectionFiber and ReflectionGenerator; > - getDocComment() : string|false in ReflectionClass, > ReflectionClassConstant, ReflectionFunctionAbastract and ReflectionProperty; > - getName(), getNameSpaceName() and getModifiers() in some cases (not > always together). > > Should it be the case to expand the scope to handle these in the same > proposal or maybe create a Meta RFC and discuss each on their own? I have been considering a "clean up reflection's class hierarchy" RFC myself; things like getName() are also ubiquitous, but AFAICT is not actually in a common type definition anywhere. I think a single RFC to clean up all the bits is probably the place to start. If any particular part of it ends up being controversial we can consider splitting it off then. >> I have zero availability until mid-March, but I'm open to helping at that >> point. > > > Thanks for your return on that, I'll try to run at least a little on my own > foot until there, so I can be less of a burden! Shoot me an email off list sometime in March as a reminder and let's see what we can figure out. :-) Or stop by the room 11 chat room. --Larry Garfield