Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:109345 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 55923 invoked from network); 26 Mar 2020 18:54:15 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 26 Mar 2020 18:54:15 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id E7B8C1804E0 for ; Thu, 26 Mar 2020 10:19:12 -0700 (PDT) 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.1 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 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-lf1-f51.google.com (mail-lf1-f51.google.com [209.85.167.51]) (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, 26 Mar 2020 10:19:12 -0700 (PDT) Received: by mail-lf1-f51.google.com with SMTP id t21so5527245lfe.9 for ; Thu, 26 Mar 2020 10:19:12 -0700 (PDT) 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=0rKA5QRHpV/QKhKZjqBb4js9I22bDZt9QnYiqdgPwJ4=; b=a5vPv11PWbar1vsc7hoaynZfSayT7u8XiumNs9flIZE5XiZMipK1ibufvBsSbXMQbc l0aI1wEawWlqpHacJaFK6HaSe7I67pLCEplqc/Xyn3L8/PX1H3XY3wY8NJoXyqMruEtu 95MgzHkSpOJZh6owzsTPLaApognbEq3F9y+y7bq/oy0Bm41BF8yQI48dyBXuLcREnr2F VLr403MFWzuv2PEDgnupygIKieA908LkBKJzkusxO3hTTqr4fyFKU0dzHIhj40SmzSc8 kRF4vxBODKqJn2cD4otEqqbFp3GUjkcvMRddJ55sXlAU9e/VJ7e4ocmH0UtnUYvMjSDZ 7XgA== 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=0rKA5QRHpV/QKhKZjqBb4js9I22bDZt9QnYiqdgPwJ4=; b=Zbl1j1S5W5txyiNWjI04Oyqir872P2JsXj+HbcBM/n8/JG7EfUImfkp7YxYa59PRYL n/yZXbqxxM2iYMHalWjtR6DlQ6BortcapFZD3+r3Htaibt1vOD/0BP4S3fkKP2W1enx9 whkgXIlGpXnJslDfNyVTWwnz08XDA8z+sdMIfPbLSbfv0QUm7iNH3TRK+qRA96GNNmAX Ytq0qN6OrPKF/JHDAckVKIMwtqkCrfq5Yk2HgsIju30975c1CeQHulIYCGwQpvxsTAYG F1Um9TOUiueeuAvsTKQ7i5KRvJwoo1mK66+Tf3hUk1+KOI5uES250u/OvB38EgTc1ShS pMxw== X-Gm-Message-State: ANhLgQ1pPCTM2P7Nju4sh8nsGpd74433emvq3H8X62aUJG8rhYC7Agod RSx+LT7jXA6s4hN5zKugFdTiEr8yGc46ICdAyw== X-Google-Smtp-Source: ADFU+vup+vlVlq56L5QmUT9Q7t80SKfGg2D+LllHlfGg+Ztj2P4oBXyELudDgJiip9N7dvwNYt4GsbGTsQlgXAEgsnE= X-Received: by 2002:a19:a40f:: with SMTP id q15mr6348217lfc.104.1585243150902; Thu, 26 Mar 2020 10:19:10 -0700 (PDT) MIME-Version: 1.0 References: <003701d6013c$9afe9750$d0fbc5f0$@gmx.de> <379095fd-ba11-4d84-6cab-89905eeab32a@gmx.de> <004501d6038c$c7870df0$569529d0$@gmx.de> In-Reply-To: <004501d6038c$c7870df0$569529d0$@gmx.de> Date: Thu, 26 Mar 2020 18:18:58 +0100 Message-ID: To: jan.h.boehmer@gmx.de Cc: Jakob Givoni , "Christoph M. Becker" , PHP internals Content-Type: text/plain; charset="UTF-8" Subject: Re: [PHP-DEV] Re: [VOTE] Userspace operator overloading From: guilliam.xavier@gmail.com (Guilliam Xavier) On Thu, Mar 26, 2020 at 5:37 PM wrote: > > The overloaded concat operator has higher priority than the __toString() method. > So if Class A overloades the concat operator, then calling $a . $b means ClassA::__concat($a, $b); (Note that both operands are passed in their original form) > If you want to concat the string representations, you will have to explicitly convert the objects to strings: > $ret = (string) $a . (string) $b; This first part seems legit to me. > If the concat operator is not overloaded, the behavior is like now, and the objects are converted implicitly to strings (so $a . $b actually means (string) $a . (string) $b). > Furthermore an notice is triggered, hinting the user that he could overload the concat operator. (Maybe here a different message than for the other operators would be useful). I fear that "hint" notice could break Symfony apps... Couldn't you just not trigger it in this case? -- Guilliam Xavier