Catando PHP7 – Tipos

Muchas de las cosas que mas en falta echo de php parece que van a salir con la nueva versión 7. A si que en cuanto he tenido un ratico he decidido bajarla y compilar.

php7

Lo primero que he probado ha sido la posibilidad de “tipar” el retorno de una función:

tipadoY al ejecutarlo, este es el resultado:

alvaro@HyperCube:~/catar-php7(master*)$ php -v
PHP 7.0.0alpha1 (cli) (built: Jun 19 2015 22:56:34) 
Copyright (c) 1997-2015 The PHP Group
Zend Engine v3.0.0-dev, Copyright (c) 1998-2015 Zend Technologies

alvaro@HyperCube:~/catar-php7(master*)$ php Seven.php 
error_reporting(E_ALL);
Hola Mundo

Return value of Catar\Seven::fuckReturnTypes() must be of the type array, object returned in /home/alvaro/catar-php7/Seven.php on line 23

Return value of Catar\Seven::whatAboutNull() must be an instance of Catar\Dummy, null returned in /home/alvaro/catar-php7/Seven.php on line 27

Return value of Catar\Seven::whatAboutCasting() must be of the type integer, string returned in /home/alvaro/catar-php7/Seven.php on line 31

69283

Pues parece ser que todo sale como esperaba, pero me ha chocado que el último, el número sea convertido automáticamente a string sin ningún problema. Además estas excepciones son lanzadas incluso con “error_reporting(0);” :D.

Como curiosidad, al principio he intentado capturar las excepciones “TypeException” con la genérica “Exception”, pero no eran capturadas, a si que he tenido que usar la excepción padre “EngineException”.

PD: El logo de php7 es de aquí;

postureo, mi repo de github con esta cata;

y si quereis bajaros php7, lo buscais en google 😉