Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:108074 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 44688 invoked from network); 9 Jan 2020 22:39:53 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 9 Jan 2020 22:39:53 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 102F01804F4 for ; Thu, 9 Jan 2020 12:45:35 -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.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS 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-lj1-f173.google.com (mail-lj1-f173.google.com [209.85.208.173]) (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:45:34 -0800 (PST) Received: by mail-lj1-f173.google.com with SMTP id w1so8714296ljh.5 for ; Thu, 09 Jan 2020 12:45:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=pkkSqo6qAyxf7wp9iYJS0PHsGXstu0H512w68ELm54k=; b=Nl1CKVes72h4L5eCTBfsKwLlJEJQL9WUbiMTB+xOrKfFDU8KO0PkXoheyq2PGP7+mm uWXMkAPlGrK7dn3pEAXOigHYnAscysBI0cHaNBj3WjNeBWagQIq+S1VBaa9EO8sU4/PR /pRdTYh33nIT6TzI/Fbkqgkzxb3PoLA/fB76SrKqRkIwPc+gUcJOlILk7YMojMD9GEIS 5HOSBRe9wqRMNd5vQRexb0H5RFVyAWI+kNKKcQH8dgDawhaMnPIUV6ahQpDB2RtAyC2N Pd/dNSaevuExiUvMFDN+pC7eNucT33RRYTGqQAAtrRs/HjktIs0gdSyeSjI3jw3kjIoU 3GPQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=pkkSqo6qAyxf7wp9iYJS0PHsGXstu0H512w68ELm54k=; b=cDFE7wFyHT6shVaaM0qgwDvM+SmxqXRw+eUEDXAUlHcrzhnAOaT5j0R3I23gFiRmNZ 1hI5dWY+p5k2wbOzQa1uM+S+7l8hWo9FpM9Ao3NcYX89+xNv0hqG7RUyeDcU3GGgOm07 1US/GQSqh6kPLuImPj3KX6kISdWqB0fkY2zOOOJ1osTVg1EZhxFxaH2itifIoByCtGse q6WEPeapGRm1+cwuJRDLUe+15e6BfR8CrB50yR8lFrcxnecPnpSTm9a8oIuHyCN6WT68 jmgCcZikEaIHrNtKRDw7DaU/D8OXU6Orux22bWPdqd/caiCe472Tn80lztij0zvM9Q3B UKTA== X-Gm-Message-State: APjAAAVE8DyKgBQLzOQGovxkkxlOpoRLVbjlZ0MjTf/0FnUITS+CV3hI Z7wrbblZaXs0LOAvxso8VatQzJf89DN28R3jgD4XOvyz X-Google-Smtp-Source: APXvYqw7HlRXy5k/OWL8n6dclosynk/r+qEBN13P9an3Ownsdi8EDBx/wkdD2xNUC4HjDDi71XpOmR3TgOHKF26eLsI= X-Received: by 2002:a2e:9196:: with SMTP id f22mr7813115ljg.18.1578602731631; Thu, 09 Jan 2020 12:45:31 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: Date: Thu, 9 Jan 2020 21:45:15 +0100 Message-ID: To: Ralph Schindler Cc: PHP internals Content-Type: multipart/alternative; boundary="0000000000000f765b059bbb172d" Subject: Re: [PHP-DEV] [RFC] Allow ::class on objects From: nikita.ppv@gmail.com (Nikita Popov) --0000000000000f765b059bbb172d Content-Type: text/plain; charset="UTF-8" On Thu, Jan 9, 2020 at 3:28 PM Ralph Schindler wrote: > > > Another small RFC, to allow $object::class syntax: > > > > https://wiki.php.net/rfc/class_name_literal_on_object > > Hi Nikita, > > Glad to see enhancements to ::class. Open questions, given: > > > class Foo {} > > $foo = new Foo; > echo $foo::class; // Foo > > $fooClass = Foo::class; > echo $foo::class; // TypeError b/c string? > Yes, at least per the current proposal. Whether to allow this is listed as an open question. > $fooAnon = new class extends Foo {}; > echo $fooAnon::class; // TypeError or class@anonymous? The same as get_class($fooAnon), which will be of the form "class@anonymous\0SOME_PAYLOAD_HERE". While the part after class@anonymous is cut of when printing in most places, anonymous classes still do have a unique class name. Nikita --0000000000000f765b059bbb172d--