Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:125973 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 31D101A00BD for ; Sat, 16 Nov 2024 11:43:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1731757573; bh=c9cYIajsfL9wi1rcShPKVeNbb7C1xYDDY8V96pQ6MiU=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=FjYyhkgDsUxbxP2C1lLDzTsUV3oRsRUcLP38YyqMzqAQvnyofBhEuLRaqiDYQW5wI g6Q7RJcE0+MZaPVbdJ00MlQRHwYTk1Ud+vxNUSw7XdPprRiIvts97CVFwAPD/MQd6D 9onq1OKYp3HaNHiMPO5/q9gpSW6BTKVd5Ty2Z5CW3XzkUC/ZfXyQy5HBxRV7gVRlkz H5CgQRImpVfshm4CGz+PB8ejbeE4THMIUlFFQYEB1truRG5RfblUUCMbeW2KoafBbf r+IQ1Irjpc2QcGN55ZZ0tDxFmg69YINrYe7T87YpAsJMak+s+9lYxaqrsen96Ej8Uu /PjECofYn8XgQ== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 8D600180076 for ; Sat, 16 Nov 2024 11:46:12 +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,FREEMAIL_FROM, HTML_MESSAGE,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: No X-Envelope-From: Received: from mail-wm1-f42.google.com (mail-wm1-f42.google.com [209.85.128.42]) (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 ; Sat, 16 Nov 2024 11:46:12 +0000 (UTC) Received: by mail-wm1-f42.google.com with SMTP id 5b1f17b1804b1-43162cf1eaaso6974995e9.0 for ; Sat, 16 Nov 2024 03:43:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1731757413; x=1732362213; darn=lists.php.net; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=c9cYIajsfL9wi1rcShPKVeNbb7C1xYDDY8V96pQ6MiU=; b=gEjSY4ZhZDVAKGc2UXMbT6DA4Y8/zjNXfj4k1s4zV/cBh8B6AN+U7zE+15vh8L47Av 3ZKFVIZwE1+bXdu33FMx7XBmKlFYVcO6ZhyTwqZXmrZWZSzVZozx+654GMLsuSBgWo8o WrZgCtJSK4gn8E/POnN5gAK3d+FL25G6wLKR+zEfkJ+LAQrqJ4QuYqxYJ2XpbScjfKDO LBjL9nancyX4Pw/pYulF7M3sQfgxH8bXOxerZgeTnHqd9TbweLDScUlBPbI1kJVV3EbM CSKD0nPD5dwRaDBQxnPy9QqM+M9hKB/i+ErUHNv7uy8rZ0gTzN7JP7pPcI3b2lnkEI8N D4kQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1731757413; x=1732362213; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=c9cYIajsfL9wi1rcShPKVeNbb7C1xYDDY8V96pQ6MiU=; b=Ng8DHr8CkG+rqd/A7sobHJkxTIfT0AQm/cAlxvTvAXRiDa3iNMmD8BsAW3W3WtH6VM NEMWaENKPlafGI57vpCi4msTEXts40So3gHsBytkxG+Dy2Q52KiObPf/tDJoUFZcAC9h Z9pNnz1MLKwuk1uxthifPDpcrobILOFpWbFPNzOTJISgxaxajbay0xAimoLZW1pGicEq hBw/6Er4uYH12SoYfMMjT5e0vcRrPgJP17MvAfx0fpKb7ykB1xNH8/cbOJR2ap7I6CTc H0jLEQPiCTdio2OOPXkm5KcHIQRjKnTm1R0IIGcOmlfkmcpl2x35sWMiO5V2AXInW921 p/Kg== X-Gm-Message-State: AOJu0YwgxiKNc1ErC5jpZm0pWUVNOdfIBHwqV8KpWd40gvN9magXonie /LwqWFCMLcJojlsbBlKfzjow8Kf2UWqX4S4y3eusDvcAIJgfsEO9nejG1u6Y9QLiP6UpOPgdcr2 uz7nwp2NcphvcZyijdInRAhaCwhxHDIdsDw== X-Google-Smtp-Source: AGHT+IGKzp1k8+gL8/HLnk2l04wgCSPlQ0PP6jRr8l2YXDDoY0pjJ6kKa3vvUiYTjf8+o5DgBNsLpOvcKxd7uFCT1z8= X-Received: by 2002:a05:600c:3583:b0:431:5f8c:ccb9 with SMTP id 5b1f17b1804b1-432df74fc2emr69148855e9.17.1731757413318; Sat, 16 Nov 2024 03:43:33 -0800 (PST) Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net x-ms-reactions: disallow MIME-Version: 1.0 References: <0a2f01db37b6$daba4e60$902eeb20$@glaive.pro> <002c01db3806$383ad2e0$a8b078a0$@glaive.pro> In-Reply-To: Date: Sat, 16 Nov 2024 15:43:21 +0400 Message-ID: Subject: Re: [PHP-DEV] Optional interfaces To: Rob Landers Cc: php internals Content-Type: multipart/alternative; boundary="000000000000754cb406270631b7" From: udaltsov.valentin@gmail.com (Valentin Udaltsov) --000000000000754cb406270631b7 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sat, 16 November 2024 at 13:42 Rob Landers wrote: > On Sat, Nov 16, 2024, at 10:02, Juris Evertovskis wrote: > > Is there some reason you cannot do this: > > > > https://3v4l.org/hF1vr > > > > Unless I=E2=80=99m missing something, you can=E2=80=99t patch-define a na= mespaced > OptionalInterface that easily. > > > > Anyway, I was not implying this is something impossible to accomplish. My > point is that it would be beneficial to have syntax for expressing =E2=80= =9Cif your > app has this interface, our class implements it=E2=80=9D. > > > > Juris > > > Yeah, I get it now (see my reply to Marco). > > Even with namespaces, it is pretty straightforward, though: > https://3v4l.org/dmXoB > > =E2=80=94 Rob > This is a nice solution. However, interface_exists should be used for interfaces. -- Valentin > --000000000000754cb406270631b7 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On Sat, 16 November 2024 at 13:42 Rob Landers <rob@bottled.= codes> wrote:
O= n Sat, Nov 16, 2024, at 10:02, Juris Evertovskis wrote:

Is there some reaso= n you cannot do this:

=C2=A0

=C2=A0

Unless I=E2=80=99m missing somet= hing, you can=E2=80=99t patch-define a namespaced OptionalInterface that ea= sily.

=C2=A0

<= p class=3D"m_-780998519247956315qt-MsoNormal">Anyway, I was not implying th= is is something impossible to accomplish. My point is that it would be bene= ficial to have syntax for expressing =E2=80=9Cif your app has this interfac= e, our class implements it=E2=80=9D.

=C2=A0

Juris


Yeah, I get it now (see my reply to Marco).

Even with namespaces, it is pretty straightforward, th= ough:=C2=A0https://3v4l.org/dmXoB

=E2=80=94 Rob

This is a nice solut= ion.

However, interface_= exists should be used for interfaces.

--
Valentin
--000000000000754cb406270631b7--