2010-11-18 15 views
2

gelen erişim fonksiyonu Ben böyle bir sınıf var:PHP bir sınıf

class bla_bla extends WP_Widget { 

    function boo(){ 
    return 'something'; 
    } 

    ... 
} 

(öyle bir WordPress widget)

nasıl sınıfından dışından boo() fonksiyonunu erişebilir ? Sana sınıfının bir örneğini ihtiyaç $var = boo();

+1

Başlangıç ​​okuma: http://php.net/manual/en/language.oop5.basic .php. –

cevap

11

yapabilirsiniz ya erişim doğrudan veya sınıfı nesnelleştirilmesiyle:

$blah = new bla_bla(); 
$var = $blah->boo(); 

veya

$var = bla_bla::boo(); 
+0

teşekkürler. '$ var = bla_bla :: boo();' çalışmak gibi görünüyor – Alex

1
$bla = new bla_bla(); 
$var = $bla->boo(); 
+0

fakat yeni bla_bla() kullanırsam, sınıf başka işlevleri de çalıştırmaz mı? – Alex

3

Birinci gibi, bir değişkene bu işlevi tarafından döndürülen değeri atamak istiyoruz. Sonra yöntemi çağırırsınız (eğer kamuya açıksa). Bu gerçekten temel şeyler olduğu için bazı OOP eğitimlerini okumalısınız. Bakınız Object Oriented PHP for Beginners. Eğer boo() işlevine "statik" anahtar kelimesini ekleyebilirsiniz ve diyebiliriz, Aksi

$widget = new bla_bla(); 
$var = $widget->boo(); 

:

$bla = new bla_bla(); 
$var = $bla->boo(); 
4

Örneğin, onu aramak için bu sınıfın bir örneğini olmalıdır $var = WP_Widget::boo(); gibi ama bu semantikleri değiştirir ve kodu bozabilir.

+0

+1 hem statik sözdizimi için hem de değiştirme konusunda uyarılar için ... – ircmaxell

İlgili konular