it-swarm.com.de

Publish () Funktion der Joomla-Bibliothek

Hallo zusammen, ich lerne gerade das Entwerfen von Joomla-Komponenten und schreibe auch meine eigene Komponente, in die ich eine benutzerdefinierte Funktion einfügen möchte. aber ich habe zwei verwirrungen

  1. Ich habe gesehen, dass es in Joomla eine Veröffentlichungsfunktion gibt, die in Admin Controller zu finden ist. Diese Funktionen führen einige Überprüfungen von IDs durch und rufen dieselbe Funktion in model auf, und in model fordert diese Funktion dieselbe Funktion in table class an. Warum tun sie dies, weil wir das Db-Objekt mit JFactory :: getDbo () in controller abrufen und damit Daten in die Tabelle einfügen und aktualisieren können? warum gehts dann so lange
  2. Zweitens ist dies der folgende Code
 $ data = array ('publish' => 1, 'unpublish' => 0, 'archive' => 2, 'trash' => -2, 'report' => -3); 
 $ task = $ this-> getTask (); 
 $ value = JArrayHelper :: getValue ($ data, $ task, 0, 'int'); 

dieser Code kann in der Veröffentlichungsfunktion des Controllers gefunden werden, aber ich bin immer noch verwirrt über die obige Codezeile, warum das?

Bitte hilf mir

2

warum tun sie dies, weil wir das Db-Objekt mit JFactory :: getDbo () in controller abrufen und damit Daten in die Tabelle einfügen und aktualisieren können? warum gehts dann so lange

Dies ist die MVC. Es ist die Theorie, dass wir im Controller alles machen könnten, aber sollten wir? Das glaube ich nicht. Warum so lange? Dies ist das CMS und es muss verschiedene Prüfungen durchführen.

dieser Code kann in der Veröffentlichungsfunktion des Controllers gefunden werden, aber ich bin immer noch verwirrt über die obige Codezeile, warum das?

Diese Codierung stellt sicher, dass die von der Anforderung ausgehende Aufgabe eine Reihe vordefinierter Aufgaben enthält. JArrayHelper :: getValue () erlaubt es auch, den Standardwert zu verwenden, wenn er nicht gefunden wurde, und ihn zu filtern.

1
Dmitry Rekun