As you know we have __toString method that runs whenever an object is
typecasted to string or it is directly echoed.
<?php
$class = (new class{
public function __toString(){
echo "casted\n";
return "mahmut\n";
}
});
echo $class;
$casted = (string)$class;
/*
prints:
casted
mahmut
casted
mahmut
*/
As you know toArray() method implemented when an object is converted into
and array and most of the time when a plain data object is sent to
front-end.
Having a magic method like __toString called __toArray would be useful to
detect and act on conversion events.
Roughly it would be like:
<?php
$class = (new class{
public function __toArray(){
echo "casted\n";
return
[
'key'=>'value'
];
}
});
$casted = (array)$class;
print_r($casted);
/*
prints:
Array
(
[key] => value
)
mahmut
*/
What would you think? I think it would add value.