No se puede (con versiones actuales de PHP) especificar tipos escalares, como cadena o int. Solo puede especificar una clase/interfaz o matriz.
Página relevante del manual: Type Hinting.
Veo al menos una gran ventaja de utilizar el tipo de alusión: legibilidad. Es más fácil ver qué tipo de parámetro espera una función/método.
Algunos verán esto como un inconveniente de que si no respetas una pista tipográfica y pasas algún parámetro no válido, obtendrás un error fatal que se puede atrapar. Sin embargo,
- Yo personalmente creo que obliga al desarrollador a respetar las interfaces más
- Esto permite a su código para trabajar sólo con los parámetros recibidos.
- El error generado es capturable
Si su pregunta es acerca de la velocidad:
- Tomar la decisión de uso de sugerencias de tipo o no el uso de sugerencias de tipo no debe ser el resultado de consideraciones actuaciones. Debe usar o no usar la característica.
- Incluso si hay algún impacto en el rendimiento, debería ser bastante mínimo. Diría que hay muchas partes de tu código que debes optimizar antes de considerar esto.
En conclusión, una opinión personal: yo muy a menudo utilizo esos indicios tipo, con tal de:
- Las personas que usan mi código saben lo que se espera de pasar en (no lo hacen siempre lea la documentación ...)
- Si no hacen lo que se espera, falla; difícil; de alguna manera notan inmediatamente
- Mi código no tiene que verificar si el parámetro recibido es del tipo correcto: sé que lo es, ya que PHP me lo impone.
¿Por qué no compararlo y ver? –