Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:118789 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 42770 invoked from network); 10 Oct 2022 23:05:29 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 10 Oct 2022 23:05:29 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 9ECCB1804F7 for ; Mon, 10 Oct 2022 16:05:27 -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,HTML_MESSAGE, 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-lf1-f42.google.com (mail-lf1-f42.google.com [209.85.167.42]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Mon, 10 Oct 2022 16:05:27 -0700 (PDT) Received: by mail-lf1-f42.google.com with SMTP id s20so18577282lfi.11 for ; Mon, 10 Oct 2022 16:05:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=x8a6xtfOpCNaBp0Amas8Nb2IAP9un7kaZpf3hK4br4s=; b=acEiVcivIebdVBzjGBqU+9vjUaOlB9DfcnoMtlJWqGD23DiWuv7Z6BPduMxiUFacgQ Ebw0cuqZWKJHiLuFr4fGf3oP9LejyOoArIRdg314bBsRwc0Ye9Izkw9ROMmF8J1MHLtD DTk1WDkv338/k2zaCpgQoUSXsruFol1y7zpJKs1h2dYdw9Drg64oEvyUaOPWdIykMReV 8rF8HPcywGJVYW0+Ldkk8cTJuFpdkBekLyJGULCxt44rE9VgYZyQX9It4dajv/515SQi azxbnEOgbTni9+hZkhKeZyukE3JcddN66V3c9wr/J30rCSN6uv0T+1gNme54LMW5+XZo l+Og== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=x8a6xtfOpCNaBp0Amas8Nb2IAP9un7kaZpf3hK4br4s=; b=JXYEcbIJHD462iYCk5Ig+F83Olmo4z0Jse8lj2uL1yZdydXrmrZto0JWd0qqh6N5LD cz1HCdtPpSA2VqMtbyebCbSRv5omfSEV6k9N1N4NJkzr1p8tJr4ZvZeu8b+BHQQuKLfa 0RcIj70ets8jQhNxOSQ9lhJ8xedzoguQY2+3uaJqnmA/LONVgMW4fK6KnO9QnGGJh9tG f4RQJ8I4hskLLhB0yfhPNwUy8Z1EbGlo8sxWM0hJb1B/3ETfD5IGXOJuwN4NJ38oxT8D GTSZPoFvKi2q7AhatbkmQHGFciczcXvI6tRRXx1sIO9e/B2W08aISH6hBoNUlzK6KgtO 4cAA== X-Gm-Message-State: ACrzQf0Z1lfuxgCRj+aGQW4bB5LcHMBbtp/xmNNXXvAC1HT/fn9Z4Yh/ u7GeWjFOfZPoZTOttM4Aw9IsR5Kn1qxl0Paic8s= X-Google-Smtp-Source: AMsMyM6Ipdh+me9QCWJDgKp5Gkq/OYdFAsYmDaGfO8MamgS9mJzod8/l07y+0H1vhjAmh41w7hrS398HDOdxjXVp1RY= X-Received: by 2002:ac2:4c4d:0:b0:4a2:4a6a:b24e with SMTP id o13-20020ac24c4d000000b004a24a6ab24emr7056217lfk.146.1665443125314; Mon, 10 Oct 2022 16:05:25 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: Date: Mon, 10 Oct 2022 20:05:13 -0300 Message-ID: To: David Gebler Cc: PHP Internals Content-Type: multipart/alternative; boundary="000000000000e0c97105eab631d4" Subject: Re: [PHP-DEV] Experimental features From: david.proweb@gmail.com (David Rodrigues) --000000000000e0c97105eab631d4 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable The idea is that the experimental features are exclusively something that the PHP team has voted for (approved) and that will be part of the language= . Users can choose to install PECL, but it is not the same, because it depends on other users (who can make use of this code) having the notion that a certain PECL will be necessary. Imagine a package under development (eg. Laravel 10) that is (supposing that) intended to be released compatible with PHP 8.3 (supposing that it already has experimental features). In this case, the Laravel team can start using an experimental feature while developing Laravel 10, waiting for the release of PHP 8.3. Once the PHP 8.3 release is finished, Laravel 10 can just remove the experimental tags and release its new version fastly= . The user, on condition that he is willing to use Laravel 10 (in development) will make indirect use of experimental features. Then both the Laravel team and these users will be able to provide feedback for these features to the PHP team before the official release. Like json_validate(): assuming Laravel needs to check if a code is valid JSON, but without processing its data for use. It could check if PHP >=3D 8.3, so use experimental_json_validate(), else use previous PHP compatible code. Atenciosamente, David Rodrigues Em seg., 10 de out. de 2022 =C3=A0s 19:20, David Gebler escreveu: > My two cents... > > Why can't "common users" install a PECL extension? It's not a difficult, > obscure or undocumented process. > > I can accept the reasoning > > > Apply a PECL strategy to try experimental features might not be the > convenient way always, for example, if we create a new ... sensitive ini > setting that affects the behavior of PHP somehow... OR ... what about a n= ew > sensitive funtion in a "core extension" like JSON? > > But why would the answer in those cases not be "compile the PHP > fork/branch with the experimental feature", rather than find a way to fla= g > the engine to switch arbitrary new features on or off, complete with all > the complications in the primary source code that would cause? We are, > after all, talking about features which by definition should not be relie= d > upon for any production use. > > Or we're talking about features which are stable and valuable enough to > have passed an RFC process, but then what's gained from an experimental > designation? Why couldn't they just be included in a preview/beta/RC > version which anyone could decide to run or not? > --000000000000e0c97105eab631d4--