Bu zor bir tanesidir.
Ben ZF önyükleme (yüzey görünümü) "taklit" duyuyorum. Neden, akademik ilgi onu aramak bana sormayın. Yani kendisi üzerinde dolaşır "init" öneki ile herhangi bir yöntem bulmak için bir yöntem "run" ile bir Bootstrap Özet var.
Uygulama, kullanıcı bu şekilde yöntemlerin herhangi bir sayısını tanımlar hangi bu sınıf uzanan bir kullanıcı tanımlı sınıf arar. Ancak, ben yine de istemci kodu için aynı komutu teşhir ederken, bu üst sınıf olduğu için "run" komutu edememek kullanıcı önlemek için istiyorum.
class Bootstrap_Abstract{
protected final function run(){
// if method exists that starts 'init' - execute the method
}
}
class Bootstrap extends Bootstrap_Abstract(){
public function initSomething(){
//do something
}
//PREVENT THIS
public function initRun(){
$this->run();
}
}
//application code, not exposed to user - changes in behaviour require changes in this code directly
class Application(){
$Bootstrap = new Bootstrap();//load user bootstrap
$Bootstrap->run();
}