Cela peut sembler un peu compliqué. Les doigts croisés, je les croise clairement. Je travaille dans un framework MVC en PHP.PHP: Appeler une méthode privée à partir d'une classe en train de mourir gravement
je charge un contrôleur/rapport/index qui appelle à une aide
<? class ReportController extends Controller {
public function index() {
$foo = MainReport::get_data($_REQUEST);
}
}
?>
intérieur de l'aide
<? class MainReport extends foo {
public function get_data($_REQUEST) {
// do stuff
return $stuff_done;
}
}
?>
Je lance comme^tout cela est bien et bon. Malheureusement, je veux courir comme ça:
<? 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();
}
}
?>
Malheureusement ... quand je tente d'appeler une fonction privée à l'intérieur d'une classe que j'ai appelé d'ailleurs ... (ouf, c'est une bouchée) ... tout meurt. Meurt donc très très mal que je n'ai même pas une erreur.
Il me semble évident que j'ai un problème de syntaxe incroyablement dorky ... mais comment accéder correctement aux fonctions privées à l'intérieur d'une classe?
Peut-être quelque chose comme: self :: do_stuff(); Qu'en est-il de la déclaration et de l'accès aux variables de classe privées?
private $bar = array();
Toute aide serait la bienvenue.
doit pas être « fonction statique publique get_data ($ _ REQUEST) "? – sled
vous pouvez appeler une fonction en php de façon statique tant qu'elle ne dépend pas des vars de classe ou des appels de méthode par instance – Zak
Ahhh .... :) merci beaucoup :) Cela m'a tué! –