Vorbildhaft programmiertes PHP-MySQL-Projekt


phwert

Erfahrenes Mitglied
#1
Hallo,

welches aus eurer Sicht vorbildhaft programmiertes PHP-MySQL-Projekt könnt ihr mir empfehlen, das ich herunterladen, installieren und studieren kann?

Gruß
 

goto;

Erfahrenes Mitglied
#2
Hey, was genau verstehst du unter "vorbildhaft"? Man kann auf viele Sachen Wert legen, ich persönlich achte vor allem auf die Testabdeckung der Projekte.
 

phwert

Erfahrenes Mitglied
#3
Ich meine Codierung, Filestruktur und Berechtigungen etc.
Die Testabdeckung sieht man ja am Ende nicht mehr, wenn das Projekt steht, oder verstehe ich das falsch?
 

goto;

Erfahrenes Mitglied
#4
Im Projekt selbst bzw. in der IDE sieht man die Testabdeckung nicht. Aber mit einem entsprechenden CodeCoverage-Report (PHPUnit+DBUnit) kann, bzw. sollte m.M.n der Code schon ausreichend getestet sein. Wenn man lange an einem Projekt arbeitet, kommt früher oder später der Zeitpunkt, dass bestimmte Bereiche im Code einfach nicht mehr funktionieren, da diese auch an anderer Stelle genutzt bzw. aufgrund geänderter Logik angepasst/erweitert werden mussten. Dann kann man sich entweder von Bug zu Bug hangeln und versuchen es wieder einigermassen zum laufen zu bringen - oder komplett neu anfangen und direkt entsprechende Tests für die Klassen/Methoden/Funktionen schreiben (TestDrivenDevelopment).

Es gibt unzählige "größere"-Projekte auf dem Markt - einschätzen ob das Projekt wirklich "gut" ist, ist schwierig. Wenn die Testabdeckung "gut" ist (>80%), kann man zumindestens sicher sagen, dass sich die Person gedanken gemacht hat und der Code auch das macht, was er soll (Error-Handling/Casting etc.).

Struktur => Damit meinst Du die Ordnerstruktur? Ich favorisiere eine Flache Struktur (ähnlich der die zend für zend-framework bzw. zend-expressive empfiehlt)
Bsp.:
- App
-- Console
-- Database
-- Decorator
-- Exception
-- Model
-- Service
- Lib

Berechtigung => Meinst du hier Benutzerverwaltung?
Codierung => Kannst du das etwas genauer Beschreiben? Kann mir da gerade nichts spezielles darunter vorstellen.

Suchst du eher ein Framework, oder ein fertiges Projekt welches nicht auf ein Framework baut, sondern eher das Rad neu erfunden hat?
 
#5
Das artet doch bestimmt wieder in eine "Nein, mein Framework ist besser als deins"-Diskussion aus.

"Vorbildhaft" muss genau 2 Dinge erfüllen:
1. es funktioniert
2. es ist sicher

Alles andere sind nur Verkaufsargumente. Meine Meinung.
 

phwert

Erfahrenes Mitglied
#6
Es gibt jede Menge Miniprojekte im Netz, die meist rudimentär ein Feature erklären, z. B. wie CRUD-Operationen funktionieren. Ja, sie funktionieren dann auch meistens irgendwie, aber mit Code, der oft der Praxis nicht standhält, weil auf wichtige Dinge verzichtet wird, der Code deshalb unsicher und eben nicht praxisgerecht ist. Vor ein paar Tagen erst: ein Wert wurde direkt aus dem $_POST genommen ohne ihn zu checken.
Ich werde es wahrscheinlich so machen, dass ich mir ein Projekt herunterladen, das sich bewährt hat, und es einfach untersuchen, vielleicht GetSimple CMS oder etwas in der Art.
 
Zuletzt bearbeitet:

ComFreek

Mod | @comfreek
Moderator
#7
Such einfach nach "big php framework", dann stößt du z. B. auf diese Liste: 10 Popular PHP frameworks in 2019 | Raygun Blog
Ich bin mir ziemlich sicher, dass jedes davon auf seine Sicherheit achtet und eine gute Testabdeckung hat. Einen guten Eindruck von der Qualität von Projekten / Frameworks kannst du dir auch auf deren GitHub-Repos verschaffen. Badges sind imo ein guter Indikator für höherwertige Software. Ich möchte fast keine größere Library mehr verwenden, die kein CI macht.

Aber beachte, dass das Studieren dieser Frameworks sehr zeitaufwändig ist - je nachdem wie viele Details du verstehen möchtest. Sie haben oft auch einen hohen Abstraktionsgrad intern, das macht es nicht gerade einfacher als Leser.