Ferreteria/v0.6/clade/aux/StandardBase/@code

From WoozleCodes
Jump to navigation Jump to search
Code Snapshots & Removals


interface iStandardBase extends DiagsIface, ScreenIface {}
class cStandardBase implements SelfIface {
    use DiagsTrait;
    use ScreenTrait;

    // ++ OBJECTS ++ //

    static protected function Globals() : string { return GlobalsClass::class; } // static class, accessed by name of class (string)
    static protected function Classes() : ClassesIface { return ClassesClass::Me(); }
    static protected function Settings() : SettingsIface { return SettingsClass::Me(); }

    private $oLogger = NULL;
    public function Logger() : LoggerIface { return $this->oLogger ??= $this->NewLogger(); }
    protected function NewLogger() : LoggerIface {
        $sc = $this->Classes()->LoggerClass();
        $o = new $sc;
        // TODO: provision the logger object
        return $o;
    }

    // -- OBJECTS -- //
    // ++ DIAGS ++ //

    public function VIEW_Inline() : string { return '('.$this->DIAG_ObjIDStr().') '.get_called_class(); }

    protected function DIAG_ObjIDStr() : string { return 'id.'.$this->ObjectID(); }

    // -- DIAGS -- //
}