2009-11-19 20 views

Respuesta

44

puede acudir cualquier variable para una clase determinada: sin embargo

if ($my_var instanceof classname) 

, en su caso, que nunca va a trabajar, como $ _GET [ "valid_user"] proviene de la solicitud y nunca va a ser una objeto.

isUser() es probablemente una función personalizada de una biblioteca de administración de usuarios que autentica la sesión actual. Debes echar un vistazo cómo funciona eso si quieres reemplazarlo.

+1

Para otros: tenga en cuenta que 'classname' no es una cadena - es el identificador de clase (que pueden importarse con la palabra clave' use'). – robsch

5

Hay una función en el lenguaje PHP, lo que podría ayudarle:

bool is_a (object $object , string $class_name) 

Del documentation: Comprueba si el objeto es de esta clase o tiene esta clase como uno de sus padres

0

Las variables $ _GET [] son ​​más constantes que variables, son de solo lectura ... pero se accede a ellas como lo haría con cualquier otra $variable.

En su ejemplo:

if (isUser($_GET['valid_user'])) 
{ 
... 
} 

Me esperanza de que se leería:

if (isUser($some_sanatized_variable)) 

.. a menos isUser() es lo que está haciendo eso. Las "variables" que PHP establece no pertenecen a ninguna clase, lo que ilustra mi preocupación de que es posible que User() no sepa con qué se trata.

2

podría intentar esto:

if (is_object($_GET['valid_user'])) 
{ 
    // more code here 
} 
Cuestiones relacionadas