Ferreteria/v0.6/clade/App/Routed/@code

From WoozleCodes
Jump to navigation Jump to search
Code Snapshots & Removals
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 -- //
}