Debería haber una versión de PHP que obligue a usar este tipado de datos, siempre leo código de terceros y se me revuelve el estomago :'v , tengo una obsesión por tipar parámetros y retornos
Introducción
¿Debería seguir usando versiones antiguas de PHP?
Documentación: la biblia de PHP
¿Qué es PHP Doc?
Entornos virtuales
¿Para qué sirven los entornos virtuales?
Creando un entorno virtual con Vagrant
Creando un entorno virtual con Laragon
¿Qué son los Virtual Hosts?
Configurando Virtual Hosts en Windows
Configurando Virtual Hosts en Linux
Configurando Virtual Hosts en macOS
PHP con esteroides
Constantes en PHP
¿Variables... variables?
Scope de PHP
Variables superglobales
Redirecciones
Match
Funciones a profundidad
Funciones variables
Parámetros por referencia
Argumentos a profundidad
Named arguments
Funciones anónimas
Arrow functions
Declaraciones de tipo escalar
Declaraciones de tipo devolución
Cierre
Aprendamos sobre cookies, sesiones y modularización de código
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Aportes 5
Preguntas 0
Debería haber una versión de PHP que obligue a usar este tipado de datos, siempre leo código de terceros y se me revuelve el estomago :'v , tengo una obsesión por tipar parámetros y retornos
De la misma forma que podemos declarar que tipo de dato queremos recibir, tambien podemos declarar que tipo de dato va a devolver nuestra funcion. Esto le da la certeza a cualquier persona que la implemente de que está trabajando con el tipo de dato que realmente necesita
Este comportamiento, por defecto, es de tipo coecirtivo (opcional), pero podemos hacer que sea obligatorio poniendo la palabra reservada “declare” al inicio de nuestro script (Tando como escalares como devolucion serán obligatorias, no se puede uno cada uno), en este caso, declaramos que la devolucion tiene que ser de tipo int ($n2) : int
, despues de los dos puntos)
function suma(int $n1, int $n2) : int {
return $n1 + $n2;
}
<?php
class Dummy
{
public $un_valor = "Cualquier cosa";
}
function suma(Dummy $dummy): string
{
return $dummy->un_valor;
}
echo suma(new Dummy) . PHP_EOL;
Excelente
lo unico que me preocupa es que puede pasar que tengas librerias de las que heredas codigo y que cuando actualices cambien sus funciones ahora con declaraciones de tipo devolucion y tengo que actualizar mis funciones hijas para que tambien tengan esa declaracion de tipo devolucion o tendre un error :'v
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?
o inicia sesión.