Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:104631 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 88326 invoked from network); 10 Mar 2019 23:26:43 -0000 Received: from unknown (HELO mail-ot1-f51.google.com) (209.85.210.51) by pb1.pair.com with SMTP; 10 Mar 2019 23:26:43 -0000 Received: by mail-ot1-f51.google.com with SMTP id g1so2183882otj.11 for ; Sun, 10 Mar 2019 13:16:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=ce0I/pE2DWsZOU/8FexJYVaI3kin794m+QK86ejBTf8=; b=cEb87mJR6KR+G4r6bFAzWR4XK9uIIFxWxshj6zgbMaZeIH7SJkUZefJncI9DoYl7Yh 8tivp3VZ0W7T7lKMa3vM80lAOZWENOzoqYjESVIGHaFu9I0DGrL5JOEbUkvR3pFj8NIA DaXhzLTgd+AMUlPthonj8+Xd6+XI980AOJilusEbqduI0PgcCd4W7khNoWbR/XDO6BK9 sG/w2rZKegDnZ/MK3lUFPAFnflnJaSsl086GKLvbJS4ho1mO5M1P9R2E9mWVcVCxj9o1 Xa9sakWfzkPuvfaA1oOO50HwLhZdNnXLkSZ8iKgLB2TpPsw/Ccs/eX4ikzNo4hRE6b5u ArDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=ce0I/pE2DWsZOU/8FexJYVaI3kin794m+QK86ejBTf8=; b=i1QJBFfw+pJrFrjRApbeGmjLOcdnbOuR+bc5nJHwdgFyU8OtCHX/CONswSuPCYbNfG zfcRhV7LKOe/fACZhDkFckXBdWonGN4vBuLXuOtyEcLi0W8JQBqJZreFDz7R6TAhFxGz Bf/maxUNJBh0Kqq7qsPR+b7YkcPyAaDwQEQNh/V35MiwU5hk99uGypqrB7D6Sp2+J7ev 76Zb2TellRNn3AC2sLWpfUfH+5hmcE9D973CelQDIYXGjfGt8rbAe8gN4TANN4z83iAA WV8HiPjuZimg/3EkdF+TPounuhid44/1EJXvVpwwZ4dkCNUmIHVR7mH88fup82meDq0H mz5g== X-Gm-Message-State: APjAAAWPI/26K8sXi7AouvD+aB5dWJQH+EzInKCvO2XDBfDQQsPR3Zm/ ttBmRQxXzQ8zlYeeDljaV74= X-Google-Smtp-Source: APXvYqw7L11DAydz8y7rtc2a7jp3yOoj6m6EeuU6wwoSM124vUag5hYNIClZ5kVC+I1AeFF2zkbASQ== X-Received: by 2002:a05:6830:116:: with SMTP id i22mr18524571otp.280.1552248970458; Sun, 10 Mar 2019 13:16:10 -0700 (PDT) Received: from samurai.attlocal.net (107-223-28-39.lightspeed.nsvltn.sbcglobal.net. [107.223.28.39]) by smtp.gmail.com with ESMTPSA id u6sm1551950oig.5.2019.03.10.13.16.09 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 10 Mar 2019 13:16:09 -0700 (PDT) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\)) In-Reply-To: <2c497732-96f8-3ef0-bc18-912220fbff4d@gmail.com> Date: Sun, 10 Mar 2019 15:16:08 -0500 Cc: PHP Internals Content-Transfer-Encoding: quoted-printable Message-ID: References: <2c497732-96f8-3ef0-bc18-912220fbff4d@gmail.com> To: Rowan Collins X-Mailer: Apple Mail (2.3445.9.1) Subject: Re: [PHP-DEV] RFC: Locked Classes From: pmjones88@gmail.com (Paul Jones) > On Mar 10, 2019, at 13:35, Rowan Collins = wrote: >=20 > Hi all, >=20 > I'd like to present a new RFC for "locked classes": classes which = restrict dynamically adding or removing properties from their instances. Nice. This would help enforce at least one element of immutability in = userland; namely, not having to define `final public function __set()` = and `final public function __unset()` to prevent adding and mutating = undefined properties. --=20 Paul M. Jones pmjones@pmjones.io http://paul-m-jones.com Modernizing Legacy Applications in PHP https://leanpub.com/mlaphp Solving the N+1 Problem in PHP https://leanpub.com/sn1php