Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:108519 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 99538 invoked from network); 12 Feb 2020 23:22:21 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 12 Feb 2020 23:22:21 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 20F0F18053C for ; Wed, 12 Feb 2020 13:36:36 -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.6 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS, SUBJ_ALL_CAPS 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-wr1-f52.google.com (mail-wr1-f52.google.com [209.85.221.52]) (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 ; Wed, 12 Feb 2020 13:36:34 -0800 (PST) Received: by mail-wr1-f52.google.com with SMTP id g3so4169865wrs.12 for ; Wed, 12 Feb 2020 13:36:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-transfer-encoding:content-language; bh=JC2YV3MFOBiSzsDtkKqlsneK/PD+ZQWG76//ibti5is=; b=TZsR946Ei3qdeMwTVwCVdwFqnuOivyMD02dy81t08sgROKZGPn/MnSCOmXAkL6N8L6 nCPs0+Odr98fU50EQwsZWmQB7JLeDKM71QZ3NrkT94qGf1dC0akAe1LRHv4nmLiVQ4dg G6PPAzjkePnGl/jhQqJxdljxdyMIYHI8Z6oZTIKOL/padD4M85qgZCbwmTyNQRV9vRfC 1LNe7A0iLgAl0MUsNUV/fP33fUMLfyO5AyGXiFIh6HEd9AsneQimr5GjgtHBpjFGFvom Xf55NIWyPBkMFAbU0gu0gHucqxK0w8//SsYOpV8LFpt18LKH0bf/2HR+fPc2gwEc1hZX NsHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=JC2YV3MFOBiSzsDtkKqlsneK/PD+ZQWG76//ibti5is=; b=pzO//Ijjmu0zbXOwc6xpyg26rq7+ukSqBcUeo+w0oPTrblsVCEYpQKdmKQ/S0uy+JD ImrCegVUoX+WyW8ZOgjfUisj5Ia9fkVF6OzYJUodq+qFO2kDfEYUgD7aAWCRss1JwiVC Nx3AP8oVVskEa3eqtxMstQ+ZXFiirprrwssyCkZzVua9FvgVZKZTuLx3zOfHshYInsDT zVQcmC2Zi//c8InL7+OgKxdzKFF7mEiQCQqfYRzL16uNYH92PRDrUywfWGrv1a6epLMX a98/wLmgrdA5jUTGJNrNtYK4gmO/4bRBjHI1V4PqUhrwUOea0/5ed6w/wMEy77vnvpAu vOPw== X-Gm-Message-State: APjAAAVW2Dhfp8lleXRfYud9hdHs5WAakAsbhjhsKoNsftIKwDl0XAFT CbEqgM1eR76onMrThXKUoX1Bh3um X-Google-Smtp-Source: APXvYqwraWtvkRpVM3Lkwt+yuSmtl4zQO9aRwSSckWsd9kb+D319xr3B3X6CPX7UbQ26xCYtkoDjcQ== X-Received: by 2002:adf:aadb:: with SMTP id i27mr18250836wrc.105.1581543393206; Wed, 12 Feb 2020 13:36:33 -0800 (PST) Received: from [192.168.0.14] (cpc84253-brig22-2-0-cust114.3-3.cable.virginm.net. [81.108.141.115]) by smtp.googlemail.com with ESMTPSA id l2sm160670wme.1.2020.02.12.13.36.32 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 12 Feb 2020 13:36:32 -0800 (PST) To: internals@lists.php.net References: Message-ID: <9829e5c9-9e32-9686-8ff2-ec7930dda709@gmail.com> Date: Wed, 12 Feb 2020 21:36:31 +0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.4.2 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-GB Subject: Re: [PHP-DEV] [RFC] From: rowan.collins@gmail.com (Rowan Tommins) On 11/02/2020 15:13, Manuel Canga wrote: > One case which string can be useful but a callable would not be acceptable is: > > array_map([I18N::class, translate::function] ); I wouldn't expect that to work anyway, because the whole purpose of the keyword would be to resolve "translate" as a function name, not a method name, e.g. use Acme\Global\I18N; use function Acme\Global\translate; var_dump([I18N::class, translate::function]); # array(0 => 'Acme\Global\I18N', 1 => 'Acme\Global\translate') # not a valid callable var_dump([I18N::class, 'translate']); # array(0 => 'Acme\Global\I18N', 1 => 'translate'); # this was what was intended If you didn't want to quote the method, you'd need some other syntax that took both class and method name, like: [I18N, translate]::callable Or as proposed elsewhere in the thread: $(I18N::translate) Regards, -- Rowan Tommins (né Collins) [IMSoP]