2009-11-19 16 views

cevap

44

: hiç çalışmaz senin durumunda,

if ($my_var instanceof classname) 

ancak $ _GET [ "valid_user"] istek geliyor ve asla bir olacak şekilde nesne.

isUser() muhtemelen geçerli oturumu doğrulayan bir kullanıcı yönetimi kitaplığından gelen özel bir işlevdir. Bunu değiştirmek isterseniz, bunun nasıl çalıştığına bir göz atmanız gerekir. Bir nesnedir ve bağlantı aşağıda size yardımcı olabilir PHP dilinde bir işlevi yoktur hangi sınıf

http://hr.php.net/manual/en/reflectionclass.isinstance.php

+1

: classname' bir dize değil 'unutmayın - bu sınıf tanımlayıcısı (yani' use' anahtar kelime ile ithal edilebilir) 'dir. – robsch

0

is_object kontrol etmek:

bool is_a (object $object , string $class_name) 

documentation'dan itibaren: Nesnenin bu sınıftan olup olmadığını veya bu sınıfı ebeveynlerinden biri olarak mı yoksa

5

nasıl kontrol edileceğini açıklar eğer

0

$ _GET [] değişkenleri, değişkenlerden daha sabittir, yalnızca okunabilirler, ancak başka herhangi bir $variable olurmuş gibi erişilir. Örnekte

:

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

Ben umut o okurdum ki:

if (isUser($some_sanatized_variable)) 

.. IsUser() o ne yaptığını olmadıkça

. PHP'nin belirlediği 'Değişkenler', herhangi bir sınıfa ait değildir; bu da, Kullanıcı() 'nın neyle uğraştığını yeterince bilmediği yönündeki kaygımı gösterir.

2

bu deneyebilirsiniz: Diğerleri için

if (is_object($_GET['valid_user'])) 
{ 
    // more code here 
} 
İlgili konular