したがって、これは少し複雑に聞こえるかもしれません。指が交差しました 私ははっきりと出くわします。
PHP の MVC フレームワークで作業しています。
ヘルパーを呼び出すコントローラー /report/index をロードします
<? class ReportController extends Controller {
public function index() {
$foo = MainReport::get_data($_REQUEST);
}
}
?>
ヘルパーの内部
<? class MainReport extends foo {
public function get_data($_REQUEST) {
// do stuff
return $stuff_done;
}
}
?>
私はそれを次のように実行します^これはすべて順調です。残念ながら、次のように実行したいと思います。
<? class MainReport extends foo {
private function do_stuff() {
// do even better stuff here!
return $better_stuff;
}
public function get_data($_REQUEST) {
// do stuff
$x = $this->do_stuff();
}
}
?>
残念ながら...他の場所から呼び出したクラス内からプライベート関数を呼び出そうとすると...(うわー、それは一口です)...すべてが死にます。非常にひどく死ぬので、エラーも発生しません。
ある種の信じられないほど厄介な構文の問題を抱えていることは明らかです...しかし、クラス内からプライベート関数に正しくアクセスするにはどうすればよいですか?
次のようなものかもしれません: self::do_stuff();
プライベート クラス変数の宣言とアクセスについてはどうでしょうか。
private $bar = array();
どんな助けでも大歓迎です。