Re: [RFC] Adding a "Stringable" interface to PHP 8
| From: | Ben Ramsey | 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