Re: Add a static initialization method to `BcMath\Number`

From: Date: Mon, 25 May 2026 09:07:20 +0000
Subject: Re: Add a static initialization method to `BcMath\Number`
References: 1  Groups: php.internals 
Request: Send a blank email to internals+get-131008@lists.php.net to get a copy of this message
On Saturday, 23 May 2026 at 14:53, Saki Takamachi <saki@sakiot.com> wrote: > Hi internals! > > In this issue, a suggestion was made that it would be convenient if >BcMath\Number could be initialized in a callable-style form (i.e. > initialized via a static method): > https://github.com/php/php-src/issues/22128 > > Indeed, as pointed out in the issue, similar static methods exist in classes such as > DateTime. > > I am in favor of introducing such a static method. It would probably look something like this: > > ``` > // $scale is optional > $num = BcMath\Number::createFrom($val, $scale); > ``` > > It would effectively serve as an alias for the constructor. > > Incidentally, since this does not introduce any BC break, I do not believe an RFC is necessary. > > I would like to hear everyone’s thoughts on this. I'm against this. We should instead find a solution to allow FCCs/PFAs to work on constructors and new rather than adding static factories for every possible class in existence. I restarted work on a PR to clean up the semantics of constructors that, I believe, would make it feasible to allow FCCs/PFAs on new MyClass. [1] Best regards, Gina P. Banyard [1] https://github.com/php/php-src/pull/19797

« previous php.internals (#131008) next »