> On Feb 11, 2020, at 07:20, Aimeos | Norbert Sendetzky <norb...@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