2010-11-18 7 views
2

からのアクセス機能は、私のようなクラスを持っている:PHP - クラス

class bla_bla extends WP_Widget { 

    function boo(){ 
    return 'something'; 
    } 

    ... 
} 

(それはWordPressのウィジェットです)

がどのように私はクラスの外からboo()機能にアクセスすることができますか? 私はあなたがクラスのインスタンスが必要$var = boo();

+1

スタート読書:http://php.net/manual/en/language.oop5.basic .php。 –

答えて

11

次のいずれかを行うことができアクセスも直接、またはクラスをインスタンス化することによって:

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

または

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

ありがとうございます。 '$ var = bla_bla :: boo();'はうまくいくようです – Alex

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

私は新しいbla_bla()を使用する場合、クラスは他の関数も実行しませんか? – Alex

3

まず同じように、変数にその関数によって返された値を割り当てます。次にメソッドを呼び出します(公開されている場合)。これは本当に基本的なものなので、いくつかのOOPチュートリアルを読むべきです。 Object Oriented PHP for Beginnersを参照してください。あなたはブーイング()関数に「静的」キーワードを追加することができ、あなたが呼び出すことができ、そうでない場合

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

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

次の例のように、それを呼び出すために、そのクラスのインスタンスを持っている必要があります$var = WP_Widget::boo();が好きですが、これはセマンティクスを変更し、コードを破損する可能性があります。

+0

静的な構文とそれを変更する警告の両方について+1 ... – ircmaxell