interface iRouted extends BaseIface {}
abstract class caRouted extends BaseClass implements iRouted {
// ++ CONFIG ++ //
abstract protected function KioskClass() : string;
// -- CONFIG -- //
// ++ SETUP ++ //
// CEMENT
protected function ReadAppConfig() {
$this->HomeKiosk()->Setup();
}
// -- SETUP -- //
// ++ FACTORY ++ //
#abstract protected function HomeKiosk() : KioskIface;
private $oHK=NULL; protected function HomeKiosk() : KioskIface { return $this->oHK ?? ($this->oHK = $this->NewHomeKiosk()); }
protected function NewHomeKiosk() : KioskIface { return ($this->KioskClass())::FromGlobals(); }
// -- FACTORY -- //
// ++ ACTION ++ //
protected function ReadUserCommand() {
$oKiosk = $this->HomeKiosk();
#echo $oKiosk->ReflectThis()->Report();
$this->AmHere('Home Kiosk: '.get_class($oKiosk)); // 2025-10-14 Is this even being called??
$oKiosk->ReadInput();
}
protected function ExecuteActions() {
$oKiosk = $this->HomeKiosk();
$oKiosk->RunInput();
}
// -- ACTION -- //
}