Apologies, first time, still learning and have no historical context - timing 
is what it is.

Proposal type: Concept

Implementer: Unknown, fallback to me after slow learning

Presumed simple implementation as the pattern should already be in place:

Cast of (string) -> __toString() - already implemented

Cast of (bool) -> __toBool()

Cast of (int) -> __toInt()

Cast of (object) -> __toObject()

…and so on.

Alternative implementation using an interface:

\CastableTo{type}

Extreme implementation:

Make both of the previous available.

Known unknowns:

- Level of interest in something like this in the PHP community outside of one 
upvote on a Stackoverflow question I submitted: 
https://stackoverflow.com/questions/62747837/php-7-tostring-or-other-interface-for-boolean-values
 
<https://stackoverflow.com/questions/62747837/php-7-tostring-or-other-interface-for-boolean-values>
- Whether this conversation or proposal has already occurred.
- The historical conversation leading to the creation of the __toString() 
method (and stopping there).
- The current conversation around using magic methods in general and 
specifically when defining a cast response.
- Enough details on PHP internal development to implement myself (this is the 
first time in 20 years I felt I couldn’t comfortably accomplish what I wanted 
to, thanks for that).
- What potential collisions could occur if someone (me) wanted to implement all 
possibilities in a single class.
- Right now __toBool() would be of the most personal benefit - if proposal is 
converted to an RFC, would it be better (faster/smoother) to do one RFC for all 
the cast possibilities - or to have an RFC for each cast separately?

Thank you for the consideration, information, and feedback.

Cheers,
Josh

ps. Also, apologies again for walking into a new space on a mission, not my 
normal approach.

pps. The primary project inspiring the proposal: 
https://github.com/8fold/php-shoop <https://github.com/8fold/php-shoop>


Reply via email to