Re: [RFC] Adding a "Stringable" interface to PHP 8

From: Date: Tue, 11 Feb 2020 14:13:55 +0000
Subject: Re: [RFC] Adding a "Stringable" interface to PHP 8
References: 1  Groups: php.internals 
Request: Send a blank email to internals+get-108482@lists.php.net to get a copy of this message
> On Feb 11, 2020, at 07:20, Aimeos | Norbert Sendetzky <norbert@aimeos.com> wrote: > > Am 11.02.20 um 14:11 schrieb Michał Brzuchalski: >>>> Traversable, Serializable, Countable, Throwable, JsonSerializable >>>> all are related to some special engine behavior, which this ones also is. >>> >>> But one could argue that "string" is not a verb like "traverse", >>> "serialize", "count", "throw" etc. >>> Potential alternatives would be Stringifyable (or Stringifiable?), >>> StringCastable, StringConvertible... >>> (Even though I personally have no problem with "Stringable") >>> >> Maybe StringObject? We do already have ArrayObject. > > A StringObject would need to offer the same methods that are available > for strings (even if ArrayObject doesn't do that completely). > > Even if "string" isn't a verb, it matches the intended meaning: > serialize -> Serializeable -> can be serialized > count -> Countable -> can be counted > throw -> Throwable -> can be thrown > > If I take the alternatives into account, I would still opt for > "Stringable" because it's: > - easy to spell > - easy to remember > - shorter than the alternatives > - matches exactly the intended meaning > - consistent with the other PHP class nameings In English, pretty much any noun can be used as a verb. Also, string does have a verb form. It can mean “to thread on or as if on a string” or “to put together (words, ideas, etc.) like objects threaded on a string” or “to form into strings.” In computing, a string is a series of characters that have been strung together. https://www.merriam-webster.com/dictionary/string :-) Cheers, Ben

« previous php.internals (#108482) next »