クラススコープに基づいてグローバル関数呼び出しからメソッド呼び出しを明確にすることができる他の言語での経験に基づいて、私はただ尋ねています-例えば:
class Foo {
function bar(){
echo 'bletch';
}
function baz(){
$this->bar();
}
}
だから私は別の方法があるかどうかを尋ねていると思い$this->bar()
ます 、つまり、どうすれば を除外でき$this
ますか?
いいえ、 PHPを使用せずにbar()
内部からアクセスすることはできません。クラス/オブジェクトの一部ではないグローバル関数を簡単に使用できるため(これは、参照しているほとんどの言語との違いです)、衝突が発生する可能性があります。baz()
$this->
bar()
要するに、それは不可能です。
呼び出しは、次の場合にクラスの外部で指定されbar
た関数を呼び出すためです。bar
function bar() {
echo 'foo';
}
class Foo {
function bar(){
echo 'bletch';
}
function baz(){
$this->bar();
}
function foobar() {
bar();
}
}
$instance = new Foo();
$instance->foobar();
foo
これは、のfunction bar()
代わりにエコーbletch
しますmethod bar()