Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:117426 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 86523 invoked from network); 25 Mar 2022 13:12:53 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 25 Mar 2022 13:12:53 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id EBBDC180507 for ; Fri, 25 Mar 2022 07:40:07 -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=0.6 required=5.0 tests=BAYES_50,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, T_SCC_BODY_TEXT_LINE 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-f44.google.com (mail-wr1-f44.google.com [209.85.221.44]) (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 ; Fri, 25 Mar 2022 07:40:04 -0700 (PDT) Received: by mail-wr1-f44.google.com with SMTP id w21so6609787wra.2 for ; Fri, 25 Mar 2022 07:40:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=KFAsIfYaoP1wIdcsumbSwNjwvzltOXFFAAAqsTe9XhM=; b=EH/nbc8464x6v6ynOeWHfqCEzOFwaZu7ke3lANECL23xCo4zfPbr27asAc8mHQybIc Fib/NgyJGJuWjVtmqtBcaoTIEu8rYRnSuEVv7BcuBIboZdwCXDk73sk1Qrrx5h1zJndO Eqb/afmeAKc4h1699ZFTyVTlOUOhUSiqmhI7bEeju7Qp4HyiK90yKH7h9vVamHwErE3p YL/3yEWlIKXToOA3zmua6khIIoY7ViU16aSFMawmtBh37AAOtKrAnqxHoGMEg/yWmsa5 sLQbjhg88xZTkyxRmKwr8YQFYYtPFtGQI+XU/1Sp2CkioSMeGQKfqzFH/tJwVoWsWge/ LzGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=KFAsIfYaoP1wIdcsumbSwNjwvzltOXFFAAAqsTe9XhM=; b=iuVAfkzQiH85KM6ESXDLv9ZoTP8bkLZjqXbE0a/a2RWeGR393MMq4rikZm/wAZr8NB ngfTTys35rKX309dxAnCjAQQ2NEno7jfzgmlmgUxUdV7gHZr26AlfgHieOB3jZ3V9xvq J1dL3PRytHbHhFG+aWQEwBjVW4H+GHI186rG77sH6rvCLea9tWpPJxXWgwAuUptqzIqD qUMDqhJnQMsTEC0eCRnaLjYx6/lmtYVjH8P1AK8FwN9R6PvuilzfKWc5/EUr8EkJEbwy FXzR3ZQw1PNOmv/Cx1pfxlhzqyFASO7JqKb52h0QCJtYoM2Qv3fiKuLEwPdcIcU2/wUM Kd1A== X-Gm-Message-State: AOAM5305eilu1W3yk0A3KemxpE6HhLTn6rsgQEoBNf6pJlGc7Z3169zc Gxb11lqaYHkqUH/hXzq3Gh6ib2yVdiIo2A== X-Google-Smtp-Source: ABdhPJzCRAqUAXfM5BaGH9aYMtRMp4IQ6GKRtqYxVVukV/3QPZScghCrMM/Wg21reoutJXMllnAp7A== X-Received: by 2002:a05:6000:178c:b0:204:648:b4c4 with SMTP id e12-20020a056000178c00b002040648b4c4mr9359415wrg.219.1648219202949; Fri, 25 Mar 2022 07:40:02 -0700 (PDT) Received: from arnaud-t490.localnet (2a01cb04054b5b0089dfe5d07fc17b11.ipv6.abo.wanadoo.fr. [2a01:cb04:54b:5b00:89df:e5d0:7fc1:7b11]) by smtp.gmail.com with ESMTPSA id v124-20020a1cac82000000b0037c3d08e0e7sm8638577wme.29.2022.03.25.07.40.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Mar 2022 07:40:02 -0700 (PDT) To: PHP internals Cc: Ilija Tovilo Date: Fri, 25 Mar 2022 15:38:08 +0100 Message-ID: <10558027.nUPlyArG6x@arnaud-t490> In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Subject: Re: [PHP-DEV] [RFC][Under discussion] Arbitrary string interpolation From: arnaud.lb@gmail.com (Arnaud Le Blanc) Hi Ilija I find that sprintf() is easier to read in most cases. One reason for this is that the text is separated from the code. It's also easier to review for humans and linters. The strtoupper example would look like this with sprintf: $world = 'world'; echo sprintf('Hello %s!', strtoupper($world)); Longer examples can be nicely split in multiple lines: echo sprintf( 'Received HTTP status code %d (reason phrase: %s)', $response->getStatusCode(), $response->getReasonPhrase(), ); And this also works with heredoc: echo sprintf( <<<'HTML' %s HTML, htmlspecialchars($title), ); -- Arnaud On jeudi 17 mars 2022 23:27:30 CET Ilija Tovilo wrote: > Hi everyone > > I'd like to start discussion on a new RFC for arbitrary string > interpolation. https://wiki.php.net/rfc/arbitrary_string_interpolation > > Let me know what you think. > > Ilija