Ich habe gerade angefangen, PhalconPHP 1.3.1 für eine App für meine Masterarbeit zu verwenden. Ist noch nicht vollständig entwickelt, aber ich arbeite gerade am CRUD, also nachdem ich einige Funktionen und die UI zum Laufen gebracht habe, habe ich beschlossen, dieses erstaunliche Framework einzuführen. Ich war neu in der Webentwicklung, den MVC- und ORM-Mustern, bis ich diese Arbeit begann. Es ist das erste Mal, dass ich auch Template-Engines verwende. Bisher konnte ich erfolgreich alles portieren, aber ich befürchte, dass ich es nicht richtig mache. Ich habe damit begonnen, meinen Code dem mit den Entwicklungswerkzeugen erstellten PhalconPHP-Bootstrap hinzuzufügen. Jetzt fange ich mit den Fragen an:
1º- Da es sich um eine Web-App handelt, die ich in Zukunft mit Phonegap umhüllen werde, verwende ich die AJAX-Ladefunktion, um nicht jedes Mal das Menü und die Bibliotheken zu laden, wenn sich die id = "content" ändert. Dafür verwende ich $('#content').load(); für den Inhalt und historyjs-Funktionen, um die URL zu ändern. Ich habe keinen Originalcode verändert, außer dass ich auf Nginx die sauberen URLs konfiguriert habe
try_files $uri $uri/ /index.php?_url=$uri&$args;
In der Dokumentation wird eine andere Möglichkeit zur Verwendung von AJAX gezeigt, daher befürchte ich, dass ich diese Methode nicht verwenden sollte und so irgendwie das MVC-Muster breche.
2º- In Bezug darauf füge ich der AJAX dynamisch geladenen URL eine Variable ?header=yes hinzu, die mir anzeigt, nur den Inhalt zu laden. Dafür mache ich in jedem Controller, in den indexActions, folgendes:
$header = filterinput(INPUTGET, 'header');
$this->view->setVar("header",$header);
Und danach überprüfe ich die Variable einfach mit Volt. Ist das der richtige Weg? Ich dachte daran, alles mit Volt zu machen, aber ich habe nicht herausgefunden, wie.
3º- Außerdem, weil das Menü für jede Seite gemeinsam ist, habe ich im Hauptindex.volt (im Ordner view) das Menü je nach Variable eingebunden. Ist das auch in Ordnung? Oder sollte ich es in die verschiedenen Ansichten verschieben?
4º- Aufgrund von 1º habe ich eigene Klickfunktionen erstellt, bei denen ich eine neue URL push und den Inhalt lade. Auch hier befürchte ich, dass ich gute Phalcon-Praktiken verletze.
5º- Der JS/HTML-Teil ist derzeit nur reiner Code, ich habe einfach den PHP-Teil durch die Volt-Syntax ersetzt. Sollte ich auch Code wie
durch seine Volt-Syntax ersetzen?
Ich würde es begrüßen, wenn Sie mir das erklären und Vorschläge machen könnten, falls Änderungen erforderlich sind.