//例 class Hoge{ public static function hoge1(){ hoge2(); } public static function hoge2(){ } }
ログインして回答する
回答はまだありません
これ以上回答リクエストを送信することはできません。制限について
コメント(4件)
他のオブジェクト指向言語だと、自分のクラスなどは指定なしで呼び出せるものもありますが、PHPは明示する必要があります。
Hoge::hoge1の中であっても、
Hoge::hoge2();
と記述してHogeクラスのstaticメソッドである、hoge2()を呼び出すことを明示しなければなりません。
ただ hoge2(); と記述すると、globalスコープのhoge2()関数を呼び出そうとします。
次の例をみると分かるでしょうか。
<?php
function hoge2()
{
echo "global hoge2().\r\n";
}
class Hoge{
public static function hoge1(){
hoge2();
Hoge::hoge2();
}
public static function hoge2(){
echo 'Hoge::hoge2';
}
}
Hoge::hoge1();
?>
何かの参考になれば。
ただ、回答に書いて頂かないと質問を終了すると、自動的にキャンセルに記事が消えてしまうのですが・・
http://q.hatena.ne.jp/1322629010