Editar: Sí, puede escribir-pista con matrices, por lo editado mi respuesta y cambiado en consecuencia.
Lo que quieres hacer es llamar type-hinting. No puede escribir tipos de datos básicos de sugerencia, como int
, string
, bool
. Puede sugerencia del tipo con array
u objetos e interfaces:
function example_hinted1(array $arr) {
}
function example_hinted2(User $user) {
}
Calling example_hinted1(5)
generará un error fatal de PHP (no es una excepción), pero llamándolo pasando un array es totalmente bien.
Si usted necesita estar seguro de que algún parámetro de una función es de un tipo básico se puede simular este comportamiento con código dentro de su función:
function example($number) {
if (!is_int($number) {
throw new Exception("You must pass an integer to ".__FUNCTION__."()");
}
// rest of your function
}
Por lo tanto, estos fragmentos trabajarían:
example(1);
$b = 5 + 8;
example($b);
mientras éstos serían una excepción:
example('foo');
example(array(5, 6));
example(new User());
No
para todos, pero para matrices y tipos (clases/interfaces) . Usted encuentra eso documentado en el manual. Primero haga su tarea y mire allí, responde a su pregunta con mucho más detalle. – hakre
http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/#functions – maialithar