Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

Ein Controller ist eine Methode in einer Controller-Klasse.

Codeblock
languagephp
themeRDark
titleBeispiel
linenumberstrue
namespace brandbox\component\example {

  use brandbox\component\http;

  class engine extends plugin\lib\engineAbstract {

    /**
     * @param int $max
     * @return array
     */
    public function index($max) {
      return $this
        ->staticAppController(ui\lib\request\index::class)
        ->request($max)
      ;
    }

    /**
     * @param int $max
     * @return http\respondAbstract
     */
    public function save($max) {
      return $this
        ->staticAppController(ui\lib\execute\save::class)
        ->execute($max)
      ;
    }
  }
}

...

Es gibt unterschiedliche Möglichkeiten auf fremde Plugins und dessen Controller zuzugreifen. 

Codeblock
languagephpthemeRDark
titleStatischer Zugriff
collapsetrue
public function abc() { 
  $this->staticAppController(foreign\engine::class)->something();
}


Codeblock
languagephpthemeRDark
titleZugriff mit neuer Controller-Instanz
collapsetrue
public function abc() { 
  $this->newAppController(foreign\engine::class)->something();
}


Codeblock
languagephpthemeRDark
titleZugriff auf erstes Feature über Hook-System
collapsetrue
public function abc() { 
  $result = $this
    ->main(foreign\engine::class)
    ->first()
    ->sendResponse()
    ->validateCsrf()
    ->validateRights()
    ->getResult($params, [])
  ;
}


Codeblock
languagephpthemeRDark
titleZugriff auf alle Features über Hook-System
collapsetrue
public function abc() { 
  $result = $this
    ->main(foreign\engine::class)
    ->collectAll()
    ->sendResponse()
    ->validateCsrf()
    ->validateRights()
    ->getResult($params, [])
  ;
}


Codeblock
languagephpthemeRDark
titleErstellen eines Hooks
collapsetrue
public function abc() { 
  $result = $this
    ->makeHookable(foreign\engine::class)
    ->something()
  ;
}

...