Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:108073 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 42994 invoked from network); 9 Jan 2020 22:35:08 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 9 Jan 2020 22:35:08 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 99B4D1801FD for ; Thu, 9 Jan 2020 12:40:53 -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=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS15169 209.85.128.0/17 X-Spam-Virus: No X-Envelope-From: Received: from mail-yb1-f175.google.com (mail-yb1-f175.google.com [209.85.219.175]) (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 ; Thu, 9 Jan 2020 12:40:53 -0800 (PST) Received: by mail-yb1-f175.google.com with SMTP id z15so2451682ybm.8 for ; Thu, 09 Jan 2020 12:40:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=newclarity-net.20150623.gappssmtp.com; s=20150623; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=qFYHCZlUkbEObCJWcqVLJHiUSUwpgphmtRGv6TOcaFc=; b=FSWua4gZ00lVKddfh9Zzwgj43h9cx8enf/Ai9gmBlwc4fYSSZibkyMYEuhbOif19u3 fLkbANv8N0LOX3WhcyX6dczp/eIM9u3Wz6R329kCS3W1SEU2NHZMnFWfGB/yIdJKvWFd mjW4urDvHvJyujvDd9rAjiWH3uEK8eS4on4SX+GKHBjpxDtPzTf42UwlaMbibNCjmT/q TM1q324blLNwn7liAOoe7kDW0+VuNDW3fxWGh5nn0P2Nt6F+pl/q2JcTrr//gfEj6oLk 3lAZ3wAyM4hiqyuEIyhJ5f+ro+MVWAku4j0w8+5zLNbFa18KMtp+4k6Tc29zg2MbqX7N BFCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=qFYHCZlUkbEObCJWcqVLJHiUSUwpgphmtRGv6TOcaFc=; b=r9ADCU1KO916fMvnV3HiBdvRVukAFsBO5Yjd+xQm2O+IEyC3OOveXs/qBAxOoDK/y8 vEcFHyWZZMDd5IYZmD8GiqaxQF9Vl9BC0lPRCv8EOGYMIg9LO47YDOPWSIlaP9qy8/OP aZF9mLl5Nv8sqfAPBTGU5LzYWm7NNITjGKCS5D4U/TsiVPABpi5IAtzL4+XwhgS2kTLO LzHyYJv1k2loQ4Lp+1DkUFg7PhxaYTM9sEyqrjdsENRHi1pksffwVZBcdzrs41nqZf67 syfUEosXfvs9F3sXQmSrTweB0T41vENRFRDv7FpmRd/unHO6VbSS+slBzoIQLI2WHC3K rKKg== X-Gm-Message-State: APjAAAUwnZfUOj1DL2gLySOzYImJ+hZ8rZ1d76CmF9Ec8yKjKgx6+RGo xM2TUMStmngynD7oV/zK2Id1Gt2/SxmHSQ== X-Google-Smtp-Source: APXvYqz8ZoY3xDzVhRm1OEeDjsRcrtr+MJsipr2zLvtNy9WktiRCcy2C8wBKAYj+AsYiNGC6bmCIaw== X-Received: by 2002:a25:8743:: with SMTP id e3mr8967587ybn.310.1578602451820; Thu, 09 Jan 2020 12:40:51 -0800 (PST) Received: from ?IPv6:2601:c0:c680:5cc0:480:e2c0:f7b2:a682? ([2601:c0:c680:5cc0:480:e2c0:f7b2:a682]) by smtp.gmail.com with ESMTPSA id a128sm3721573ywh.60.2020.01.09.12.40.51 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 09 Jan 2020 12:40:51 -0800 (PST) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\)) In-Reply-To: <57c08851-e6e2-c0bd-76e1-f7a0388d64b4@ralphschindler.com> Date: Thu, 9 Jan 2020 15:40:50 -0500 Cc: internals@lists.php.net Content-Transfer-Encoding: quoted-printable Message-ID: <60610660-2E38-47BD-A998-1E226CEB3701@newclarity.net> References: <13CC52AA-7690-42C6-89B7-B8FA4166BF38@newclarity.net> <57c08851-e6e2-c0bd-76e1-f7a0388d64b4@ralphschindler.com> To: Ralph Schindler X-Mailer: Apple Mail (2.3445.104.11) Subject: Re: [PHP-DEV] [RFC] Allow ::class on objects From: mike@newclarity.net (Mike Schinkel) > On Jan 9, 2020, at 3:29 PM, Ralph Schindler = wrote:How would you get the right semantics out of $object::interface, = or $object::trait, and/or do you have an example of what you're = expecting? Sorry, I was only thinking about using it on Interface and Trait names, = not on objects. I have a lot of code that looks like this: use Interfaces; if ( ! implements_interface( $object, Interfaces\MyInterface::class, = $trigger_error =3D true )) { return;=20 } And it feels wrong. I would love to be able to use ::interface, i.e.: use Interfaces; if ( implements_interface( $object, Interfaces\MyInterface::interface, = $trigger_error =3D true )) { return;=20 } -Mike