Hallo Linuchs,
okay, dieses Problem verstehe ich. Meine Visiten bei "fremden PHP Programmen" sind beschränkt auf einen Turniermanager, an dem ich einige Jahre gebastelt habe (bis die Spielplattform, für die er gemacht war, abgeschaltet wurde) und einige Codestudien von PHPBB2. Der Turniermananger war aber auch das Erstlingswerk des Autors, und das sah man ihm an. Dort habe ich etliche Meinungen entwickelt, was man nicht tun sollte. Ob meine Meinung dann die bessere war? Keine Ahnung.
Ich vermute, dass in meinen Projekten Genialität und törichte Umständlichkeiten Tür an Tür wohnen.
100% Ack. Für meine Arbeit natürlich - deine kenne ich ja nicht von innen. Und was Du für Genialität hältst, wird jemand anderes wohl als wilden Codeknäuel betrachten. Und umgekehrt. So ist das in der Kunst nun mal.
Aber das ist wohl bei den meisten so, dass sie bei PHP im eigenen Saft kochen. Keine Ahnung, wer hier professionell, in einem Team, PHP entwickelt.
Die Frage ist also, wie man von der Kunst zum Handwerk kommt. Nicht nur in PHP, auch in HTML, CSS und ggf. JS und SQL. Das ist selbstredend nicht einfach.
Du kannst bei github nach PHP Projekten suchen und Dir anschauen, wie es andere machen. Natürlich hast Du dann keine Bewertung, ob Du da etwas Nachahmenswertes siehst. Und meistens sind github-Projekte so groß, dass man keinen schnellen Einstieg findet.
Und mal angenommen, es wäre kein Corona, Peter H. Plappermaul wäre dein Nachbar und machte mit Dir eine Woche lang einen Review deiner Programme. Wer sagt Dir, dass Peter die Weisheit mit Löffeln gefressen hat? (Das sagt Dir bei uns hier übrigens auch keiner.) Wir können gerne über grundsätzliche Patterns in der PHP Entwicklung diskutieren, und du wirst dann diverse Meinungen zu hören bekommen. Daraus kannst Du Dir dann deine eigene Meinung bilden.
Styles in den body zu setzen ist übrigens kein gültiges HTML. Das war mal geplant, aber es ist nicht in den Standard gekommen. Wenn Du mit Styles modularisieren willst, dann kommst Du vermutlich an BEM nicht vorbei, wobei es auch da Stimmen gibt, die das für Mist halten.
PS: Wenn Du eine Form der Modularisierung gebaut hast, bei der jedes UI Widget eigenes CSS braucht, dann könnte man das so gestalten, dass diese Widgets Objekte sind. Und jedes Objekt hat eine get_styles() Methode, die das CSS zum Widget liefert. Irgendeine Managerinstanz muss dann wissen, welche Widgets auf der Seite sind und beim Aufbau des <head> der Reihe nach alle get_styles Methoden aufrufen.
Aber ist das nötig? Du betreibst eine Einmannshow. Es kann viel effizienter sein, alles CSS deines Projekts in eine .css Datei zu bündeln und die bei jeder Seite mit auszuliefern. Dann kann es der Browser cachen, und gut ist.
Rolf
sumpsi - posui - obstruxi