Pregunta:
Fecha: 15-08-2017 22:44:03
(En Español)
Recientemente he visto en código ageno 2 cosas que me gustaría saber como debo interpretarlas.
La primera es, dentro de una clase php uno de los métodos después del paréntesis lleva 2 puntos y texto, el dreamweaver me lo da como error pero se que no es un error, simplemente me marca como error muchas cosas que salieron después de la versión que uso, el ejemplo es el siguiente:
La segunda duda es.., qué direferncia hay entre meter dentro del paréntesis o sin paréntesis lo siguientre:
o sin paréntesis
lo mismo con string o (string)
Muchas gracias por adelantado Votos: 0 - Respuestas: 3 - Vistas: 15 Compartir en: Google Facebook Twitter LinkedIn Link
2 dudas de PHP: private function getXXXXXX(): string { y (int)$variable[Resuelta]
Hola de nuevo compañer@s,Recientemente he visto en código ageno 2 cosas que me gustaría saber como debo interpretarlas.
La primera es, dentro de una clase php uno de los métodos después del paréntesis lleva 2 puntos y texto, el dreamweaver me lo da como error pero se que no es un error, simplemente me marca como error muchas cosas que salieron después de la versión que uso, el ejemplo es el siguiente:
private function getGoogleUrl(): string {
...
La segunda duda es.., qué direferncia hay entre meter dentro del paréntesis o sin paréntesis lo siguientre:
(int)$variable
o sin paréntesis
int $variable
lo mismo con string o (string)
Muchas gracias por adelantado Votos: 0 - Respuestas: 3 - Vistas: 15 Compartir en: Google Facebook Twitter LinkedIn Link
Respuestas:
-
Fecha: 21-08-2017 05:47:52 Hola Fran,
Interesantes preguntas. Con respecto a la función, los dos puntos es una "declaración de tipo de devolución", introducida en PHP 7, e indica el tipo de dato que devolverá la función, para ello se utilizan los mismos nombres de tipos que se usan habitualmente: string, int, float, etc. Esto significa que el valor devuelto por "return" debe ser de ese tipo. Es un intento de PHP por solventar una de sus debilidades (pero que muchos aman): no ser fuertemente tipado.
En referencia al forzado de tipo, hasta donde tengo entendido se debe emplear los paréntesis por lo que no hacerlo debería generar un error, es decir, (int) $var es correcto pero int $var no lo es. Revisaré el manual para confirmar. El forzado de tipo no es nuevo en PHP, se viene utilizando desde versiones tempranas. Votos: 1 - Link respuesta -
Fecha: 21-08-2017 21:30:08 Muchas gracias Leonardo.
Qué diferencia, o mejora supone declarar el tipo de valor que devolverá una función? Votos: 0 - Link respuesta -
Fecha: 23-08-2017 10:28:22 Hola Fran. La diferencia es que el valor devuelto será forzado a convertirse en el tipo declarado. Mientras que una función tradicional puede devolver un valor de cualquier tipo, una función con "tipado estricto" devolverá únicamente valores de ese tipo. ¿La ventaja o mejora? Se aprecia particularmente al desarrollar clases (POO), haciendo más robusta la implementación de métodos. Pueden esgrimirse muchas ventajas, solo puedo añadir que, desde mi punto de vista, acerca a PHP al nivel de lenguajes más desarrollados en esa metodología. Votos: 1 - Link respuesta
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
