2014-12-11 4 views
5

Ich bin also dabei, ein großes Property-Management-System für die Cloud zu starten. Dieses Hotel System existiert bereits in VB.net Technologien, und jetzt portieren wir das ganze System ins Web.Wie mit PHP Frameworks Evolution Schritt halten?

Wir versuchen, zwischen ASP.net oder PHP zu entscheiden, wir denken über PHP nach, weil ASP.net zu viel auf Lizenzierung und Servern kosten würde. Also gibt es Laravel, Symphonie, CodeIgniter, Zend, etc ..

Die Sache ist, dieses Projekt soll für die kommenden Jahre leben. Aber wir fühlen uns durch ein PHP-Framework eingeschränkt, denn jedes Mal, wenn das Framework aktualisiert wird, müssen wir unser gesamtes System aktualisieren. Zum Beispiel .. jetzt wurde Laravel von Version 4 auf 5 aktualisiert. Und die ganze Ordnerstruktur hat sich geändert. Ich kann mir nicht vorstellen, dass unser großes System aktualisiert werden muss und jedes Laravel-Update erhalten bleibt. Wie gehst du damit um?

Auch was wäre passiert, wenn Laravel verschwindet, ist es die trendige Mode jetzt. Aber wir sehen PHP-Frameworks kommen und gehen.

Wäre es klüger, kein PHP-Framework zu verwenden und alles von Grund auf neu zu erstellen, um mehr Kontrolle darüber zu haben?

+0

Kommt ganz auf Ihre Entwickler an. Persönlich, wenn ich die Wahl hätte, würde ich PHP-Frameworks vermeiden, so dass ich 100% Kontrolle über alles habe, aber das ist nur meine persönliche Meinung. – Novocaine

+0

Wenn Sie es gewohnt sind, mit .net zu arbeiten, dann sind Sie es gewohnt, bereits mit einem Framework zu arbeiten, also würde ich die Arbeit mit einem Framework in PHP nicht ablehnen; es spart Ihnen viel Aufwand im Vergleich mit Ihrem eigenen Schreiben und neu zu erfinden das Rad noch einmal –

+2

Aber während einige PHP-Frameworks kommen und gehen, andere wie ZF und Symfony sind gut etabliert und mit aktiven blühende Gemeinden und aren‘ Ich werde wahrscheinlich aus einer Laune verschwinden; und während ein größeres Upgrade auf ein Framework die Abwärtskompatibilität zerstören kann, ist dies nicht üblich, und Sie sind nicht gezwungen, mit jeder größeren Änderung entweder –

Antwort

3

Sie sollten zuerst beachten, dass die Verwendung eines Frameworks in erster Linie zwei Probleme lösen soll;

  1. Codierung in ein bestimmtes "Format" erzwingen. Kollaboratives Arbeiten an Code kann "gehackte" Lösungen oder nicht mehr verfügbaren Code generieren. Ein Rahmen kann die Kraft sein, die hilft, diese Dinge in Schach zu halten.
  2. Ein Framework kommt mit einem bestimmten Core-Code, der zum Beispiel Datenbankabstraktion, Routing usw. behandelt, wodurch Sie viel Zeit sparen können, um sich selbst zu entwickeln.

Eine zusätzliche Sache zu erwähnen; Bei der Implementierung neuer Funktionen gibt es die Möglichkeit, dass jemand sie vorher erstellt hat und vielleicht sogar besser, als Sie es erwartet hätten.

Schritt halten mit dem Framework sollte nicht zu schwer sein, solange Sie sich an die Codierungsrichtlinien des Frameworks halten. Mit den größeren Frameworks haben neue Versionen (oder nach einiger Zeit) Tutorials, wie Sie Ihre vorherige Version in das neue Versionsformat portieren können.

Die Entscheidung, welches Framework zu verwenden ist, ist eine Frage, die auf Meinungen basiert und nicht geeignet ist, hier zu diskutieren, aber denken Sie daran, dass Sie Ihr Framework nach Ihren Bedürfnissen auswählen. Überprüfen Sie auch, wie groß die Community ist und wie viele Plugins/Code von Drittanbietern existiert (je länger, desto länger dauert das Framework).

Viel Glück!

3

Sie könnten ein Framework als Basis für den Start sehen. Denken Sie daran, dass Sie den ganzen Code bekommen! Sieh dir den Code an. Magst du es? Passt es zu Ihren Anforderungen? Wenn Sie ein Framework verwenden, haben Sie einen großen Vorteil, wenn Sie alles von Grund auf selbst erstellen.

Aber müssen Sie aktualisieren? Würden Sie Ihren eigenen Code ständig aktualisieren? Vielleicht wird es nicht immer benötigt. Sicher, wenn es ein Sicherheitsproblem gibt, solltest du etwas dagegen tun, aber jedes Update auf ein Framework als essentiell zu betrachten, ist einfach Unsinn.

Ich baue Projekte für bestimmte Versionen von Frameworks und Bibliotheken. Ich versuche, Flexibilität aufzubauen, so dass ich Frameworks und Bibliotheken und Versionen austauschen kann, aber ich finde oft, dass ich bei dem bleibe, was funktioniert.

Einige Leute mögen das vielleicht nicht, und argumentieren, dass Sie immer auf der neuesten Version sein sollten, aber ich finde das völlig unpraktisch.

+2

zu aktualisieren. Das größte Argument für die Aktualisierung Ihres Framework-Codes ist, dass Sie immer auf dem neuesten Stand sind Entwicklungen auf dem Gebiet, und die Wartung ist einfacher. Wenn Sie ein Projekt pflegen müssen, das ein Framework verwendet, das vor einem Jahrzehnt verwendet wurde ... Sie werden eine schlechte Zeit haben ... – RichardBernards

+0

Was @RichardBernards sagt, ist was ich meine. Wir können unser Produkt nicht in einer zehn Jahre alten Rahmenversion stecken lassen. Wie bei PHP (der Sprache) müssten wir es auch aktualisieren und die Kompatibilität ständig überprüfen. Denn dann, an dem Tag, an dem wir uns für ein Upgrade entscheiden, werden viele Änderungen an unserem Hauptprodukt erforderlich sein. Die Leute scheinen diese Frameworks zu verwenden, für kleine bis mittlere Projekte, die in ein oder zwei Jahren sterben könnten. Aber das Produkt, das wir zu bauen versuchen, wird in den kommenden Jahren das Hauptprodukt des Unternehmens sein, und das gesamte Entwicklerteam wird das Framework daher heiraten. – omarojo

+0

Sie scheinen offenbar zu wissen, was Sie tun müssen. Jede Software, die Sie verwenden, ich meine wirklich jede Software, wird nach einem Jahrzehnt veraltet sein. Wenn Sie also wissen, dass Sie Ihre Software so lange auf dem neuesten Stand halten wollen, müssen Sie dafür die nötigen Ressourcen bereitstellen. Niemand kann über so lange Zeit die Zukunft eines Frameworks vorhersagen, also riskieren Sie ein Risiko. Was auch immer Sie wählen, es könnte sich als richtig oder falsch erweisen. –