Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:95075 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 19668 invoked from network); 12 Aug 2016 09:39:28 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 12 Aug 2016 09:39:28 -0000 Authentication-Results: pb1.pair.com header.from=lester@lsces.co.uk; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=lester@lsces.co.uk; spf=permerror; sender-id=unknown Received-SPF: error (pb1.pair.com: domain lsces.co.uk from 217.147.176.230 cause and error) X-PHP-List-Original-Sender: lester@lsces.co.uk X-Host-Fingerprint: 217.147.176.230 mail4-3.serversure.net Linux 2.6 Received: from [217.147.176.230] ([217.147.176.230:39470] helo=mail4.serversure.net) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id A6/4A-56950-E499DA75 for ; Fri, 12 Aug 2016 05:39:27 -0400 Received: (qmail 27921 invoked by uid 89); 12 Aug 2016 09:39:22 -0000 Received: by simscan 1.3.1 ppid: 27915, pid: 27918, t: 0.0777s scanners: attach: 1.3.1 clamav: 0.96/m:52/d:10677 Received: from unknown (HELO ?10.0.0.7?) (lester@rainbowdigitalmedia.org.uk@81.138.11.136) by mail4.serversure.net with ESMTPA; 12 Aug 2016 09:39:22 -0000 To: internals@lists.php.net References: <10fbcb03-5de8-4d9a-da1c-7e2bf77937cb@lsces.co.uk> <5657afc7-7569-5fc4-4a5a-27ed786c4fa5@gmail.com> <0825c173-5cb4-7f65-cf34-b45ca30919a3@lsces.co.uk> <8646c3ad-b929-cb0b-bad4-52a0a7160d16@gmail.com> <11ce571b-964b-5a3e-9f2f-3f69a8bc20b4@lsces.co.uk> <7d9db8d5-ae7a-4123-14f4-f76fb6d764c5@gmail.com> Message-ID: <93f22328-8089-634c-ce60-abba9f6e2a31@lsces.co.uk> Date: Fri, 12 Aug 2016 10:39:22 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Subject: Re: [PHP-DEV] Simple variable handling. From: lester@lsces.co.uk (Lester Caine) On 12/08/16 09:43, MichaƂ Brzuchalski wrote: > About ReadOnly I'm currently working on `immutable` feature proposal where > could be > possible to mark class and properties as immutable (ReadOnly after > initialisation) > so it could solve problem with ReadOnly ValueObjects and immutable > properties > which are simple primitives. This all comes back to the basic variables ;) I can see the attraction of making an object 'immutable' which may be a set of readonly variables. Initializing that obviously needs to bypass the block, and MAY require that some variables are initialised in order for others to then be populated, which just highlights again that having a set of simple variables each of which can be managed on it's own, is then wrapped in a workflow to ensure the resulting 'readonly' object is initialized correctly with the variables supplied. *I* am thinking particularly here about timestamp and that the current 'mess' of built in code which I still have to wrap to make it work with those generated in my database code. The immutable version of that is pointless much of the time, and I simply switch to a readonly BIGINT value so it will work on 32 bit platforms. The raw view of the data can vary depending on if you are using seconds or days as a base but both bases eventually produce a variety of displays with managed time offsets. -- Lester Caine - G8HFL ----------------------------- Contact - http://lsces.co.uk/wiki/?page=contact L.S.Caine Electronic Services - http://lsces.co.uk EnquirySolve - http://enquirysolve.com/ Model Engineers Digital Workshop - http://medw.co.uk Rainbow Digital Media - http://rainbowdigitalmedia.co.uk