PHP – Callable Type hint

13 Lug

Out Of Date Warning

Questo post è stato pubblicato più di 2 anni fa (il 13 luglio 2012). Le idee vanno avanti velocemente, le prospettive cambiano quindi i contenuti potrebbero non essere aggiornati. Ti prego di tenere in considerazione questo, e di verificare le informazioni tecniche presenti nell'articolo prima di farne affidamento per i tuoi scopi.

Con PHP 5 è stato introdotto il type hinting, cioè una funzionalità che permette di forzare i parametri ad essere un qualcosa come… un array, un oggetto o un’interfaccia.
Da PHP 5.4 è stato aggiunto un nuovo type hinting, il callable cioè un qualunque callback valido (funzione, closure, oggetto invocabile etc..).

Un esempio come al solito ci schiarisce le idee:

Molto semplice, il primo parametro del metodo test_callable deve essere un callback valido. Se, per esempio, tentassimo di passare una stringa, riceveremo un messaggio simile a questo:

Catchable fatal error: Argument 1 passed to MyClass::test_callable() must be callable, string given…

Usando un oggetto come funzione

Possiamo anche passare un oggetto come callable, infatti dichiarando nella classe il metodo magico __invoke forziamo una sua istanza a comportarsi come una funzione:

Risorse

php.net/manual/en/language.oop5.typehinting.php

Lascia un commento