Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:123999 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 4A4411A009C for ; Fri, 28 Jun 2024 20:58:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1719608396; bh=bJHXodUeP0H4oLEFQVsKCoAqggsxv1buhNYmAoGgO/Y=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=Rl05Jl7Q8aJvXzOVG0zSszggvjTgMMWWIK1LTOZ/BECCPs5S7nngxRFa2XMRYaWsc +r/dJlGCfeR1NxmzL8u940gVBF2yV8VtBaXKKwEvi78QZbjXXnyr6i0SSxgELDsz2d cWSKt8p+Wdhw6m8TbfCQcRRPFQ/NNdxH/gDy0/tOftQvcNPKdHJ2QqDoq1Q4DbW5NH 1Nyr+FKusq/4pPLC0KbcvVqasH5CyeKMT9QMAUPO6uAx9JUL2cgzPr/5T2po1tUE41 9do2EoRZyA6WB56yPHYkApbP/UEamXpPTkvVGnyIUGtC0/njCrjdNUCX+6r18i/3h4 cm141ggtmMQHA== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 3B9F2180A16 for ; Fri, 28 Jun 2024 20:59:56 +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,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: Error (Cannot connect to unix socket '/var/run/clamav/clamd.ctl': connect: Connection refused) X-Envelope-From: Received: from mail-vs1-f52.google.com (mail-vs1-f52.google.com [209.85.217.52]) (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 ; Fri, 28 Jun 2024 20:59:55 +0000 (UTC) Received: by mail-vs1-f52.google.com with SMTP id ada2fe7eead31-48f8f50e3b2so1212352137.0 for ; Fri, 28 Jun 2024 13:58:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=beberlei-de.20230601.gappssmtp.com; s=20230601; t=1719608316; x=1720213116; 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=bJHXodUeP0H4oLEFQVsKCoAqggsxv1buhNYmAoGgO/Y=; b=us3YuYCd7WmrBhIYbL5tqQzhE8GdgR9/nb1KPNAQBaxEb9fnva0vUfXne8QjgAv6/5 2OWFoRs7Bq773YQ6s/P3jw4VMMlX1E1y09TRZpP2KprotsxoLXSB57NNDknuKQzsWn9O 2/Zth1ibbB0Yxrk5sKIQLsQ5GO6gZC5u28etkck3GHUNXqU7bj5dvzwAAmEoozzPdpwV WNTbPeY85UPkH85o4Zd4poNzAhj8N8XkioGJ8D0zv9seaJADaz/1ClkibSfHhbnVwzPy myq29ua9ksSfISfkOpKacxI+ZZGsLgs39J6ToQYf6SdTTnw8RTY7XJ1bapyAonjhVmvx wq2A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719608316; x=1720213116; 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=bJHXodUeP0H4oLEFQVsKCoAqggsxv1buhNYmAoGgO/Y=; b=K4Pr3ClkIGZxJIVh9G8tsM6YFGy/FKVNsXkZmC2bmUAu2yhBgKCOmPiZlvMNsADlIR GM6uF2GOY6BvrO1bpszbQJlNQRoF5/+RxLMvT3BK7aU8RH25pdo7TQfi3C9agjpvz6CL 5u7uOdBSTKY2tYyHCw/8wd/EHIcpsUwhrwoBYi2sQf/z+QUamSC76ehlyOVUthwUqeZe MUuUr58V+2reifWwBQh/s0My8IaJ8R8/9InVMwUXPobCXIx5izFPNmzRfFg6zyI4816z tEmT1hQpxP1yu4x8ISKLmyvKFWUMKOzSSyIze9u5SIydrQx1Urv96I1MIxd0eDKw1dng YSIA== X-Gm-Message-State: AOJu0YynXcHrEOpL/vDzuQdPIHpCUqcMPk7m0MJGWzjZXwLBNca0Y7A2 JrwQU2MMfoO7eD+PqBoNNjKURwdEF8X379wGh+WrYRxAN3l2qemAm1EMcvy4TMNEQPnS8lmugBw JGimwFu7YXd0LBZjc7YnXDfEpSipEs2M7pIfcaXw8pk5WI5hE X-Google-Smtp-Source: AGHT+IFnh3rhE8wMFyHdlTnjpFQTU03iJC4Kw69tmj8JFIxCORFiZdmZIJm4HRgiMkiqcB4MR9/7rjZXOsDNjQ0nzf8= X-Received: by 2002:a67:e291:0:b0:48c:45e3:16e0 with SMTP id ada2fe7eead31-48f9e890cc1mr2038008137.9.1719608316181; Fri, 28 Jun 2024 13:58:36 -0700 (PDT) Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net MIME-Version: 1.0 References: In-Reply-To: Date: Fri, 28 Jun 2024 22:58:23 +0200 Message-ID: Subject: Re: [PHP-DEV] [RFC] Static class To: Bilge Cc: php internals Content-Type: multipart/alternative; boundary="000000000000d6dcaf061bf98290" From: kontakt@beberlei.de (=?UTF-8?Q?Benjamin_Au=C3=9Fenhofer?=) --000000000000d6dcaf061bf98290 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, Jun 24, 2024 at 1:15=E2=80=AFAM Bilge wrot= e: > Hi Internals! > > I am pleased to present my first RFC: Static class > . > > This work is based on the previous discussion thread on this list of the > same name, and hopefully captured all the relevant details, > notwithstanding anything unanticipated that may present itself during > the implementation. Let me know if you feel anything important has been > missed. I am aware it omits to mention specifics about messages so > emitted when runtime or compile-time errors occur, but I anticipate this > can be hashed out in the PR, unless consensus indicates otherwise. > > I am aware this idea is not supported by everyone, but there seemed to > be enough positive voices for it to be worth a shot. I'd like to get a > better idea of where people might stand when it comes down to a vote, > now there is a formal RFC, so we know whether it's worth completing the > implementation, although any sentiments so proffered are of course not a > commitment to vote any particular way and nobody should feel compelled > to speak to that unless comfortable. Looking forward to feedback! > while i wouldn't ordinarily find a lot of use-cases for myself for this, i think its consistent with final and readonly to allow static on classes as well. The code I believe would be mostly at compile time anyways to do these checks, except for new $class. So in general I would vote yes for this, if all edge cases are clear and considered. > > Cheers, > Bilge > --000000000000d6dcaf061bf98290 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


=
On Mon, Jun 24, 2024 at 1:15=E2=80=AF= AM Bilge <bilge@scriptfusion.c= om> wrote:
Hi Internals!

I am pleased to present my first RFC: Static class
<https://wiki.php.net/rfc/static_class>.

This work is based on the previous discussion thread on this list of the same name, and hopefully captured all the relevant details,
notwithstanding anything unanticipated that may present itself during
the implementation. Let me know if you feel anything important has been missed. I am aware it omits to mention specifics about messages so
emitted when runtime or compile-time errors occur, but I anticipate this can be hashed out in the PR, unless consensus indicates otherwise.

I am aware this idea is not supported by everyone, but there seemed to
be enough positive voices for it to be worth a shot. I'd like to get a =
better idea of where people might stand when it comes down to a vote,
now there is a formal RFC, so we know whether it's worth completing the=
implementation, although any sentiments so proffered are of course not a commitment to vote any particular way and nobody should feel compelled
to speak to that unless comfortable. Looking forward to feedback!

while i wouldn't ordinarily find a lot of us= e-cases for myself for this, i think its consistent with final and readonly= to allow static on classes as well. The code I believe would be mostly at = compile time anyways to do these checks, except for new $class.
<= br>
So in general I would vote yes for this, if all edge cases ar= e clear and considered.

Cheers,
Bilge
--000000000000d6dcaf061bf98290--