Sind Frameworks in PHP notwendig? [geschlossen]


9

Sind Frameworks in PHP wirklich notwendig?

Was sind die Vor- und Nachteile einer Verwendung?


2
Kürzlich stieß ich
Matt Molnar

Antworten:


17

Nein, aber sie sind nett.

Vorteile : Spart Zeit, da Sie den Code nicht selbst neu erstellen müssen. Verwenden Sie die unzähligen Features, Funktionen und Datenstrukturen, die von einer anderen Person für Ihr Projekt erstellt wurden.

Nachteile : Wenn Sie den Code nicht selbst erstellt haben, kann dies zu einem besseren Verständnis führen, auf dessen Grundlage Ihr Projekt ausgeführt wird.


1
Aber das Problem ist, dass es Tag für Tag viele Frameworks gibt, von denen ich nicht weiß, welche ich verwenden soll
Tayyab Gulsher Vohra

4
@Tayyab Du musst sie alle benutzen!
Arnis Lapsa

1
Die Auswahl eines Frameworks liegt bei Ihnen, basierend auf den Anforderungen Ihrer Anwendung und Ihrem Codierungsstil. Fragen Sie sich auch, benötigen Sie ein Framework zum Rollen Ihrer eigenen App oder ein CMS (Joomla, Drupal usw.)?
Darren Newton

2
Sie müssen vorsichtig mit "unbekannten Unbekannten" sein. Wenn Sie kein Framework verwenden, ist das Risiko groß, dass Sie einige Dinge vergessen oder nicht wissen, die Frameworks für Sie lösen. Beschäftigen Sie sich beispielsweise korrekt mit der Verhinderung von CSRF-Angriffen? Ihre App funktioniert ohne eine solche Prävention, kann aber leicht gehackt werden. Wenn Sie sich für ein wichtiges Framework (eines davon) entscheiden, profitieren Sie von all den Dingen, mit denen sich Web-Apps befassen müssen, auch wenn Sie noch nichts davon erfahren haben.
Joeri Sebrechts

9

Webanwendungs-Frameworks sind nur so gut wie Ihre Erfahrung damit.

Jedes Framework hat eine Lernkurve. Bis Sie diese Kurve überwinden, werden Sie wahrscheinlich Dinge tun, die so rückständig sind, dass Sie alle Vorteile der Verwendung eines Frameworks zunichte machen. Die Entwicklung Ihrer Anwendung wird unnötig langsam sein, der Code wird schwer zu befolgen sein und das Ganze wird kaputt gehen, wenn eine neue Version des Frameworks veröffentlicht wird. Ich würde davon abraten, ein unbekanntes Framework (oder eine unbekannte Technologie) für Projekte mit einer engen Frist zu verwenden.

Wie kann man Frameworks besser nutzen?

Sie müssen eine Handvoll gottesfürchtiger Anwendungen erstellen und iterieren. Schließlich werden Sie die Macken herausfinden, und die Verwendung eines Frameworks ermöglicht Ihnen kürzere Entwicklungszeiten und besser organisierten Code.

Sollten Sie ein PHP-Framework verwenden?

Jeder, der genug PHP codiert, verwendet schließlich ein Framework. Die Frage ist, werden Sie Ihr eigenes Framework verwenden oder eines, das von einem Dritten entwickelt wurde? Nach meiner Erfahrung werden Sie wahrscheinlich nie ein eigenes Framework entwickeln, das der Robustheit und Qualität eines Frameworks von Drittanbietern entspricht. Die Entwicklung eines eigenen Frameworks scheint jedoch ein Durchgangsrecht in der PHP-Community zu sein. Lassen Sie sich also nicht davon abhalten, Ihre eigene Datenbankabstraktionsklasse zu schreiben.

Hier ist eine hilfreiche Grafik:

Geben Sie hier die Bildbeschreibung ein


7

Laut Rasmus Lerdorf benötigen Sie kein zusätzliches Framework, da PHP selbst ein Framework ist. http://toys.lerdorf.com/archives/38-The-no-framework-PHP-MVC-framework.html


Nun Leute, ich bin ein Biginner und ich versuche Code zu schreiben. Ich bin neu darin und ich möchte ein Kernentwickler von PHP sein. Bitte schlagen Sie mir Jungs vor
Tayyab Gulsher Vohra

3
Dieser Artikel stammt aus dem Jahr 2006 und ist peinlich veraltet.
Jonathan Rich

1
@ JonathanRich: Dieser Artikel ist vielleicht sogar veraltet, aber immer noch peinlich interessant!

4

Nun, es hängt wirklich von der Größe Ihres Projekts ab. Bei einer Homepage ohne Datenbank und nicht mehr als 10 Seiten wird ein Framework zu umfangreich sein, vor allem, weil Framewroks in den meisten Fällen immer viel Konfiguration und Anpassung erfordern, um bestimmten Anforderungen gerecht zu werden. In einigen Situationen können sie etwas langsamer sein als mehrere Seiten in einer Datei (denken Sie an alles, was das Framework laden muss, um seine Funktionen nutzen zu können).

Wenn Sie nun eine mittelgroße / große Site mit Datenbankinteraktionen, Webservices usw. usw. planen, benötigen Sie ein Framework, mit dem Sie mit verschiedenen Technologien interagieren und Ihren Code so organisieren können, dass Sie ihn haben, wenn die Dinge kaputt gehen die Habilitie, es schnell zu erkennen und zu reparieren. Auch wenn Sie an Clients denken, ändern diese ständig ihre Meinung zu Software. Wenn der Client also eine neue Funktion ändern oder hinzufügen muss, sollten Sie nicht den gesamten Code durchgehen und darüber nachdenken müssen, wie ich diese neue Funktion in alle einbinden kann diese Sphagetti.

Es gibt viele andere Vor- und Nachteile, aber diese sind mir zuerst in den Sinn gekommen.

Bearbeiten: Ich verwende das Symfony-Framework täglich und arbeite auch mit PHP für die Universität (ich hatte einige Kurse über Webentwicklung, in denen kein Framework verwendet werden darf), daher stammt das meiste davon aus dieser Erfahrung.


1
Nun, ich bin ein Anfänger in PHP und habe noch nichts Großes entwickelt und ich bin zu verwirrt, was ich verwenden soll und was ich wirklich
tun

Der erste Schritt wäre, sie nicht zu verwenden, die Technologien und ihre Funktionsweise (PHP, Framework, JS, CSS usw.) zu lernen. Wenn Sie die Grundlagen der PHP-Programmierung verstanden haben, verwenden Sie ein Framework wie Zend oder Symfony oder CakePHP, um zu lernen Wie Sie Ihre Anwendungen
verbessern

2

Du machst Scherze, oder?

Die Notwendigkeit hängt von der Verwendung ab. Computer sind für die Menschheit nicht notwendig, weder Autos usw.

In Bezug auf Vor- und Nachteile ist jeder für sich!

Ich möchte einen Beispielcode aus meinem eigenen Framework zeigen:

class Product extends DatabaseRow {
    public $name='';
    public $price=0.0;
    public $images=array();
    public $description='';
    public table(){
        return 'products';
    }
}

$p=new Product();
$p->name='Bread';
$p->price=0.5;
$p->images=array('loaf1.jpg','bakery.jpg');
$p->description='Our premium diet bread.';
$p->save();

Siehst du was ich dort gemacht habe? Diese Klasse dient als Modell für ein Geschäft. Was ist so besonders außer OO? Wenn die Tabelle oder eine Spalte nicht vorhanden ist, wird sie dynamisch erstellt. 0 Skripte installieren. Dies ist natürlich eine Besonderheit in meinem Framework. Aber du kommst auf die Idee.


Ich möchte euch etwas sagen, Leute, ich benutze tatsächlich 2 Frameworks, eines ist Codeigniter und das andere ist Yii und ich möchte ein Kernentwickler werden, aber meine OOP-Konzepte sind nicht so gut, die Wahrheit ist das.
Tayyab Gulsher Vohra

Wie unterscheidet man in der Methode $ p-> save () zwischen einer Anweisung 'UPDATE' und 'INSERT'?
Srisa

@Srisa - Ich habe keine ID festgelegt. Um ein UPDATE durchzuführen, brauche ich: $p=new Product($the_id); $p->load();Das load()ist das Zusammenführen einer Zeile, anstatt die gesamte Zeile zu überschreiben.
Christian

2

Nicht alle Anwendungen erfordern ein Framework, die meisten Folgeanwendungen jedoch.

Die Vorteile sind:

  • Wiederholen Sie sich nicht - Jede neue Anwendung hat Funktionen, die mit vielen vorhandenen Anwendungen gemeinsam sind. Es ist sinnvoll, sich nicht zu wiederholen. Ein Framework bündelt die Funktionen, die Sie für die meisten Anwendungen benötigen. Sie sparen folglich Zeit (und Geld).
  • Machen Sie sich keine Sorgen - Softwareentwicklung im Allgemeinen kann sehr schmerzhaft sein. Es ist sinnvoll, das Alltägliche zu automatisieren. Ein Framework kümmert sich um die Installation, sodass Sie sich darauf konzentrieren können, zutiefst kreativ zu sein. Sie sparen folglich Aufwand (und Geld).

Die Nachteile sind:

  • Unser Weg oder kein Weg - Möglicherweise müssen Sie die strengen Konventionen des Frameworks befolgen, die möglicherweise Ihren dogmatischen Überzeugungen darüber widersprechen, wie Dinge getan werden sollten (und Sie folglich verärgern).
  • Erworbenes Framework-Syndrom - Möglicherweise sind Sie zu abhängig von Frameworks, um selbst die einfachsten Dinge zu erledigen. Sie werden vergessen, wie Sie Anforderungen weiterleiten, auf Datenbanken zugreifen, Objekte Datenbankabfragen zuordnen usw., da das Framework Ihre Hand durch all das hält.

Alles in allem ist es besser, eine zu verwenden.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.