Re: [RFC] [Discussion] Add bcdivmod to BCMath

From: Date: Fri, 05 Jul 2024 20:39:15 +0000
Subject: Re: [RFC] [Discussion] Add bcdivmod to BCMath
References: 1 2 3 4 5 6 7  Groups: php.internals 
Request: Send a blank email to [email protected] to get a copy of this message
Hi

On 6/30/24 18:08, Rob Landers wrote:
We can argue the semantics of input/output, but the point still stands that return by reference is still more common than structured array, and even then, those are usually much bigger things.
Happy to argue with you. I explained for each of the examples you mentioned how it differs from the use-case solved by bcdivmod(). To give some examples of functions that return a structured array and that I believe to be reasonably similar (meaning: they destruct/parse the input value instead of just providing some metadata like opcache_get_status()): - pathinfo() - date_parse() - getimagesize() - openssl_x509_parse() - password_get_info() And for functions that return system information: - opcache_get_status() - sys_getloadavg() - stat() Please explain how their output arrays being “much bigger” makes a difference to how the API is perceived by the user that wants to use it. Functions I see where the result is returned by out parameters only, without having a regular primary return value are (this also includes some closely related functions in openssl and socket that I do not list explicitly): - getmxrr() - openssl_csr_export() - socket_getpeername() And for all of those it would arguably a better API to just return the value and throw an Exception on failure. Best regards Tim Düsterhus

Thread (14 messages)

« previous php.internals (#124236) next »