Stabiles, gut unterstütztes PHP-Framework mit möglicherweise Form Builder und Grafiken, Diagrammen

Ich habe seit ein paar Jahren keine PHP-Programmierung mehr gemacht und ich habe bis jetzt noch kein Framework verwendet.

Jetzt habe ich ein neues Projekt im Kopf und denke, dass mir ein gut getestetes Framework viel Zeit ersparen würde, die ich zuvor in die Neuerfindung einer fehlerbehafteten Version des Rades investiert habe.

Der PHP-Teil des Projekts wird Folgendes tun:

  • Empfangen Sie HTTP-POST-Anfragen, schauen Sie in eine Datenbank (wahrscheinlich MySql, vielleicht Sqlite) und geben Sie eine URL zurück, die sie abruft.

  • Ermöglichen Sie Benutzern, sich anzumelden (Überprüfung der Anmeldeinformationen mit der Datenbank) und eine Sitzung einzurichten (für die ich mich nach einer Zeit der Inaktivität entscheiden könnte, eine Zeitüberschreitung zu haben).

  • Benutzer können dann ein Dashboard ihrer Daten und Aktivitäten anzeigen, das ich aus der Datenbank erstellen werde.
  • Ich brauche eine Admin-App für meinen eigenen Gebrauch, damit ich Benutzer und ihre Daten hinzufügen/ändern/löschen kann.

Das klingt alles ziemlich nach 08/15, was bedeutet, dass es einen guten Rahmen geben sollte, den ich verwenden kann.

  • Etwas freies für die kommerzielle Nutzung (falls ich jemals dumm genug bin, zu versuchen, dafür eine Gebühr zu erheben), ohne Haken, was bedeuten würde, dass ich meinen Code als Open Source öffnen müsste (ich könnte mich noch dazu entschließen, aber ich möchte meine behalten Optionen offen).
  • Stabil und gut getestet, mit einer guten Benutzer-Support-Community.
  • Behandelt allgemeine Funktionen wie Benutzeranmeldung, Sitzungsverwaltung (einschließlich Timeout-Abmeldung) usw
  • Bietet gute Sicherheit mit minimalem Aufwand meinerseits
  • Möglicherweise ein Formularersteller, falls ein Framework so etwas anbietet, wo ich mein Formular per Drag & Drop und "zeichnen" kann, um dann PHP-Code dafür zu generieren.
  • Vielleicht eine schöne Berichterstellung mit Grafiken, Tortendiagrammen, Histogrammen usw
  • In der Tat alles, was mir hilft, eine glatte GUI zu erstellen, da ich darin lausig bin.
  • Alle anderen glatten Funktionen, die es attraktiv machen könnten, obwohl auch die Lernkurve berücksichtigt werden sollte und wie es hilft, die Entwicklung zu unterstützen, es zu beschleunigen / weniger fehleranfällig zu machen und einfacher zu testen und zu debuggen.

Welchen Rahmen empfehlt ihr?


Trotz der Vergabe des Kopfgeldes lässt mich viel Googeln glauben, dass Lavarel jetzt Code Igniter übertrifft. Ich habe mich entschieden, die Präsentation und den größten Teil der Logik clientseitig mit AngularJs zu verschieben und nur eine dünne Datenbankzugriffsschicht auf dem Server zu belassen, auf die Ajax zugreifen kann.

Ich bin keineswegs ein PHP-Entwickler, aber eine schnelle Google-Suche hat CakePHP gefunden . Ich bin auch keineswegs ein HTML-Entwickler, aber Ihr GUI-Lösungsproblem könnte durch die Verwendung von Bootstrap gelöst werden
Schauen Sie sich Phalcon an, ich bin zu faul, um eine detaillierte Antwort zu schreiben (außerdem bin ich auf dem Handy), aber es sollte die meisten Funktionen haben, die Sie benötigen, mit Ausnahme des Diagrammerstellungs- und GUI-Seitenerstellers (das ist nicht die Rolle des Frameworks und ich bezweifle Sie ' Ich werde eines finden, das diese Funktionen bietet), aber der wirkliche Vorteil davon ist die Geschwindigkeit, es ist superschnell im Vergleich zu anderen Frameworks, da es als C-Erweiterung und nicht als PHP-Code geliefert wird.

Antworten (2)

Zunächst entschuldige ich mich dafür, dass ich keine Antwort geben kann. Eine detaillierte kanonische Antwort ist erforderlich, um alle Bedenken auszuräumen. aber ich werde versuchen, meine Antwort so detailliert wie möglich zu machen und hoffe, dass dies nützlich sein wird! Daher schlage ich CodeIgniter vor. Es ist ein leistungsstarkes PHP-Framework mit sehr geringem Platzbedarf, das für Entwickler entwickelt wurde, die ein einfaches und elegantes Toolkit benötigen, um voll funktionsfähige Webanwendungen zu erstellen. Mitzünder .

CodeIgniter ist das Richtige für Sie, wenn

  • Sie möchten einen Rahmen mit geringem Platzbedarf.
  • Sie brauchen außergewöhnliche Leistung.
  • Sie benötigen eine breite Kompatibilität mit Standard-Hosting-Konten, die eine Vielzahl von PHP-Versionen und -Konfigurationen ausführen.
  • Sie möchten ein Framework, das nahezu keine Konfiguration erfordert.
  • Sie möchten ein Framework, bei dem Sie nicht die Befehlszeile verwenden müssen.
  • Sie möchten ein Framework, bei dem Sie sich nicht an restriktive Codierungsregeln halten müssen.
  • Sie möchten nicht gezwungen werden, eine Templating-Sprache zu lernen (obwohl ein Template-Parser optional verfügbar ist, wenn Sie einen wünschen).
  • Sie vermeiden Komplexität und bevorzugen einfache Lösungen.
  • Sie benötigen eine klare und vollständige Dokumentation.

Aus technischer und architektonischer Sicht wurde CodeIgniter mit den folgenden Zielen erstellt:

  • Dynamische Instanziierung. In CodeIgniter werden Komponenten geladen und Routinen nur dann ausgeführt, wenn sie angefordert werden, und nicht global. Das System macht keine Annahmen darüber, was über die minimalen Kernressourcen hinaus benötigt wird, daher ist das System standardmäßig sehr leichtgewichtig. Die von der HTTP-Anforderung ausgelösten Ereignisse und die von Ihnen entworfenen Controller und Ansichten bestimmen, was aufgerufen wird.

  • Lose Kopplung. Kopplung ist der Grad, in dem Komponenten eines Systems aufeinander angewiesen sind. Je weniger Komponenten voneinander abhängen, desto wiederverwendbarer und flexibler wird das System. Unser Ziel war ein sehr lose gekoppeltes System.

  • Komponenten-Singularität. Singularität ist der Grad, in dem Komponenten einen eng fokussierten Zweck haben. In CodeIgniter sind jede Klasse und ihre Funktionen hochgradig autonom, um maximalen Nutzen zu ermöglichen.

CodeIgniter ist ein dynamisch instanziiertes, lose gekoppeltes System mit hoher Komponenten-Singularität. Es strebt nach Einfachheit, Flexibilität und hoher Leistung in einem kompakten Paket.

CodeIgniter-Funktionen

  • Model-View-Controller-basiertes System
  • Extrem geringes Gewicht
  • Vollständige Datenbankklassen mit Unterstützung für mehrere Plattformen.
  • Active Record-Datenbankunterstützung
  • Formular- und Datenvalidierung
  • Sicherheit und XSS-Filterung
  • Sitzungsverwaltung
  • E-Mail-Versand-Klasse. Unterstützt Anhänge, HTML/Text-E-Mail, mehrere Protokolle (Sendmail, SMTP und Mail) und mehr.
  • Bildbearbeitungsbibliothek (Zuschneiden, Größenänderung, Drehen usw.). Unterstützt GD, ImageMagick und NetPBM
  • Klasse zum Hochladen von Dateien
  • FTP-Klasse
  • Lokalisierung
  • Seitennummerierung
  • Datenverschlüsselung
  • Benchmarking
  • Ganzseiten-Caching
  • Fehlerprotokollierung
  • Anwendungsprofilerstellung
  • Kalenderkurs
  • Benutzer-Agent-Klasse
  • Zip-Codierungsklasse
  • Template-Engine-Klasse
  • Trackback-Klasse
  • XML-RPC-Bibliothek
  • Unit-Testing-Klasse
  • Suchmaschinenfreundliche URLs
  • Flexibles URI-Routing
  • Unterstützung für Hooks und Klassenerweiterungen
  • Große Bibliothek von "Hilfs"-Funktionen

Da dies ein Open-Source-Projekt ist, hat es eine gute Support- Community

Googeln scheint zu zeigen, dass Laravel für die meisten der Top-Favorit ist (und dass CodeIgnighter an Popularität verliert). Irgendwelche Kommentare?
@Mawg Für mich scheinen beide auf dem gleichen Niveau zu sein, aber wieder ist es Ihre Wahl, was ich nur tun könnte, ist vorzuschlagen, was für Ihre Arbeit am besten ist, aber denken Sie daran, dass jeder von ihnen seine eigenen Vorteile hat:) Ich habe dies vorgeschlagen, weil hauptsächlich CodeIgniter verspricht höhere Stabilität. Außerdem gibt es definitiv eine große Community, die es verwendet, auch im Besitz des British Columbia Institute of Technology :)
+1 Ich denke, ich muss versuchen, beide zu verwenden, um eine einfache App zu erstellen und zu sehen, welche am besten zu mir passt. Ich werde auch nach Vergleichen der beiden suchen.

Ich denke, Yii wäre gut für dich. Der Bericht / die Berichtsbibliothek .

Für das Erstellen von Benutzeroberflächen ist es meiner Meinung nach der Teil der Front-End-Bibliothek / des Front-End-Frameworks, nicht der Serverseite. Sie können BootstrapFormBuilder , Formoid , Bootply oder LayoutIt jederzeit mit jedem serverseitigen Framework kombinieren.

Um mehr über Yii zu erfahren, können Sie diesen Link besuchen .

Hier ist eine Liste anderer PHP-Frameworks.