C'è un modo per dire a PHP come convertire i tuoi oggetti in ints? L'ideale sarebbe simileEsiste un numero intero equivalente di __toString()
class ExampleClass
{
...
public function __toString()
{
return $this->getName();
}
public function __toInt()
{
return $this->getId();
}
}
mi rendo conto che non è supportato in questa forma esatta, ma c'è un facile (non-così-hacky) soluzione?
---------------------- MODIFICA MODIFICA MODIFICA --------------------- --------
Grazie a tutti! La ragione principale per cui mi sto occupando di questo è che vorrei creare alcune classi (generatori di moduli, classi di menu, ecc.) Che usano oggetti invece di array (uniqueId => description). Questo è abbastanza facile se si decide che dovrebbero funzionare solo con quegli oggetti, o solo con oggetti che estendono una sorta di superclasse di oggetti generici.
Ma sto cercando di capire se c'è una via di mezzo: idealmente le mie classi di framework possono accettare coppie di stringhe di interi o oggetti con metodi getId() e getDescription(). Perché questo è qualcosa che deve essere accaduto a qualcun altro prima che mi piacerebbe utilizzare la conoscenza combinata di StackOverflow per scoprire se c'è un modo standard/best-practice per fare questo che non si scontri con la libreria standard di php, quadri comuni ecc..
io non sono sicuro di come PHP saprebbe la differenza ? __toString() viene utilizzato quando un oggetto viene emesso direttamente, non solo typecast. –
Si potrebbe fare una classe "Object", come in Java, e avere tutto ciò che ne deriva, quindi implementare un metodo sovrascrivibile. – Raveline
@Phil Fortunatamente sto usando 5.3 quindi non ho più quel problema :) http://php.net/manual/en/language.oop5.magic.php#language.oop5.magic.tostring –