Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:124794 X-Original-To: internals@lists.php.net Delivered-To: internals@lists.php.net Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5]) by qa.php.net (Postfix) with ESMTPS id 8F75E1A00B7 for ; Tue, 6 Aug 2024 08:27:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1722932926; bh=kCEyNQbhLlPGzQ1Fne3d/dqJrZtiYUsowTZoAPy8fZQ=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=ko7q9FhvCuuGdi6/GXj6UVwLCq3fvqLi16+NFzdDRpFBFfFaSx38HlLNfoibQQv3A C9HdZguX2M4MBSRYTeYMCAXYaARnNz1kn+hvjnFrPRSJ+w0ATpFBZJX2L91oVyvA3A pon530GiFqe86CX9V73F1PjX4OMnOpl8a+pRqjw7UeunF4FL+YFIXM6ar6n+3iDUod lk9ySRG8BsD2aP9yJUOm4c+auyceYYr16hqUis1XGaOABxp7fpkZIdtqC16QkfqeXQ QhtksZ/y+fncNnfHcuXjs6dFUE+SAkx5GYkKVwh+fRIPbs6t0wGdytXdQCVE84jbKd e8avsREasJDMg== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 0DEA9180071 for ; Tue, 6 Aug 2024 08:28:46 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DMARC_MISSING,HTML_MESSAGE,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: No X-Envelope-From: Received: from mail-vs1-f45.google.com (mail-vs1-f45.google.com [209.85.217.45]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Tue, 6 Aug 2024 08:28:45 +0000 (UTC) Received: by mail-vs1-f45.google.com with SMTP id ada2fe7eead31-492a09d4c42so96310137.0 for ; Tue, 06 Aug 2024 01:27:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=beberlei-de.20230601.gappssmtp.com; s=20230601; t=1722932823; x=1723537623; darn=lists.php.net; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=M75g2P4+tJb08wdQMD2s74tLdtdDtqH4R6bM1uZ2HkI=; b=xcpi8jDBz2UjYSs0d6iPr6ETz6HrvZtAJJR1PF/r4m0mwV+E7IK0KnDemRKtOSrex9 ao3RAZUid/Ol+FkvX1AnFPtstcBWHGWBW7VEjF4zR1vyCnx4aY6zZ49PH9LY8RchVzKj YTV7atzaC1AKmqZlLPtwbPmkN5O/doYp8hJmzKjtcoHIjztrFzG31A1yueEbvNM+3nnT OHYzPEkVAEmrXO9r0fZEcJ7Qm8dtmozYtBShDFuIITQeSJAa84dlEKiujkxTQHlzSsHw /X9f47n6NxfW4LAxM4Z7gLUFIBWHsUzpdMVtJthom/88AIB2spdJaPnL49dXTwM7CKBp hLIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1722932823; x=1723537623; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=M75g2P4+tJb08wdQMD2s74tLdtdDtqH4R6bM1uZ2HkI=; b=AHUdCy4lvUemamYhHePsASGHjkE3itja2WsuuZ4C6i5iRWUPLe94zwp5Nq9GuxsNTi LYkqRI7gR5/Ff4MlkypbzVcSfkGKQA5zHpsOo+TpPnT7e8p489jLUpPaJH8JqFhbCQaS ZCiFFahqesmLSSQBhjT15/aKkZ1O6NpmQnXVhJgYS1aYXYMJHhMWosYersTB1hHWEEtt DJKuagPMD0b4eaVPCXWNqnXCqvBy5jIVqc+3Uai9GhXcsOSME1quC3UC5qHaGKYLnSo5 RBGeab2Qxy8pdoupImkHYmPj1BrW9n37fZUumiR++EsbaRr6o1PJ/ht1YtKWPW1cwc+S KXRg== X-Gm-Message-State: AOJu0Yw1bDzB3IDL0Ks+dLr3sct715BeR3EAWISgqPn7sYoDfYPc7L8r nlR6WD0OdSulUMqnibr9MyRdAjdnGIZMtG5OISXAUnlAgkIzolAAuZ4IT4HtqkD+FBGI5ao1mLD B/a2dsO17QkSWVh53H/vy5WbjrJhLra4ucBxfYQ== X-Google-Smtp-Source: AGHT+IGSBEJV0YwQiwap7xm2ke7l2Ng+/tOSjL31igcGXTPt+K1xwt6TZHTtIxQeBPQYceUJ9yVzMztqekWhpdTvf94= X-Received: by 2002:a05:6102:3e95:b0:48f:4bba:778c with SMTP id ada2fe7eead31-4945bdf190cmr18586793137.8.1722932823405; Tue, 06 Aug 2024 01:27:03 -0700 (PDT) Received: from 1064022179695 named unknown by gmailapi.google.com with HTTPREST; Tue, 6 Aug 2024 08:27:02 +0000 Received: from 1064022179695 named unknown by gmailapi.google.com with HTTPREST; Tue, 6 Aug 2024 08:26:59 +0000 Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net x-ms-reactions: disallow MIME-Version: 1.0 (Mimestream 1.3.7) References: In-Reply-To: Date: Tue, 6 Aug 2024 08:27:02 +0000 Message-ID: Subject: Re: [PHP-DEV] [RFC] [VOTE] Transform exit() from a language construct into a standard function To: "Gina P. Banyard" Cc: PHP internals Content-Type: multipart/alternative; boundary="000000000000e9532f061eff8e11" From: kontakt@beberlei.de (=?UTF-8?Q?Benjamin_Au=C3=9Fenhofer?=) --000000000000e9532f061eff8e11 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Am 06.08.2024, 09:43:21 schrieb Benjamin Au=C3=9Fenhofer : > > > Am 30.07.2024, 11:49:52 schrieb Gina P. Banyard : > >> Hello Internals, >> >> I have just opened the vote for the "Transform exit() from a language >> construct into a standard function" RFC: >> https://wiki.php.net/rfc/exit-as-function >> >> The vote will last for two weeks until the 13th of August 2024. >> >> Best regards, >> >> Gina P. Banyard >> > > Hi Gina, > > I was ambivalent to this before, but after reading the discussion, voted > no for two reasons: > > > - exit without parenthesis s still not a function, that does not makes > handling this on extension level (tools, profilers) more reliable, ins= tead > more confusing. I don=E2=80=99t mind the work this might cause for an = extension, so > i don=E2=80=99t join Christoph=E2=80=99s and Derick=E2=80=99s argument= here that this a break for > extensions that disqualifies the change. > > Tim pointed out to me that my argument here is wrong, since exit; will be transformed to exit() at compile time, I did not read this from my first read-through of the RFC, but now I see it in the text. So this point does not hold anymore. > - If it still does not allow me to set exit as disabled_functions, > then this creates an inconsistency > > That left me wondering why disabled_functions does not work, and I see the PR adds a special case for both functions. So disabling them =E2=80=9Ecould= =E2=80=9C potentially work. > I also have a question: From a userland perspective, it looks it creates > inconsistency calling exit with global namespace prefix, depending on > parenthesis or? \exit(); will now work, but \exit; will not? > > Also if https://github.com/php/php-src/pull/4084 taught me anything, > trying to add eval support for disabled_functions, then maybe we should > throw warnings instead when using that ini setting to disable op codes, > instead of silently ignoring that this won=E2=80=99t work. > --000000000000e9532f061eff8e11 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


Am 06.08.2024, 09:43:21 schrieb B= enjamin Au=C3=9Fenhofer <kontakt@= beberlei.de>:


Am 30.07.2024, 11:49:52 schrieb G= ina P. Banyard <internals@gpb.moe>:
=20
Hello Internals,

I have just opened the vote for the "Trans= form exit() from a language construct into a standard function" RFC:https://wiki.php.ne= t/rfc/exit-as-function

The vote will last for two weeks until th= e 13th of August 2024.

Best regards,

Gina P. Banyard

Hi = Gina,

I was ambivalent to this before, but after reading = the discussion, voted no for two reasons:

  • exit without parenthesis s still not a function, = that does not makes handling this on extension level (tools, profilers) mor= e reliable, instead more confusing. I don=E2=80=99t mind the work this migh= t cause for an extension, so i don=E2=80=99t join Christoph=E2=80=99s and D= erick=E2=80=99s argument here that this a break for extensions that disqual= ifies the change.

Tim point= ed out to me that my argument here is wrong, since exit; will be transforme= d to exit() at compile time, I did not read this from my first read-through= of the RFC, but now I see it in the text. So this point does not hold anym= ore.

  • If it still does not allow me = to set exit as disabled_functions, then this creates an inconsistency
  • <= /ul>

That left me wondering why disabled_functions does not work, and I see t= he PR adds a special case for both functions. So disabling them =E2=80=9Eco= uld=E2=80=9C potentially work.
=
<= br>
I also have a question: From a userland perspecti= ve, it looks it creates inconsistency calling exit with global namespace pr= efix, depending on parenthesis or? \exit(); will now work, but \exit; will = not?

Also if=C2=A0https://github.com/php/php-sr= c/pull/4084=C2=A0taught me anything, trying to add eval support for dis= abled_functions, then maybe we should throw warnings instead when using tha= t ini setting to disable op codes, instead of silently ignoring that this w= on=E2=80=99t work.
--000000000000e9532f061eff8e11--