window.pipedriveLeadboosterConfig = { base: 'leadbooster-chat.pipedrive.com', companyId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', version: 2, } ;(function () { var w = Fenster if (w.LeadBooster) { console.warn('LeadBooster existiert bereits') } else { w.LeadBooster = { q: [], on: function (n, h) { this.q.push({ t: 'o', n: n, h: h }) }, trigger: function (n) { this.q.push({ t: 't', n: n }) }, } } })() Pflege eines Projekts in PHP: 5 zu vermeidende Fehler - The Codest
Der Codest
  • Über uns
  • Dienstleistungen
    • Software-Entwicklung
      • Frontend-Softwareentwicklung
      • Backend-Softwareentwicklung
    • Staff Augmentation
      • Frontend-Entwickler
      • Backend-Entwickler
      • Daten-Ingenieure
      • Cloud-Ingenieure
      • QS-Ingenieure
      • Andere
    • IT-Beratung
      • Prüfung und Beratung
  • Branchen
    • Fintech & Bankwesen
    • E-commerce
    • Adtech
    • Gesundheitstechnik
    • Herstellung
    • Logistik
    • Automobilindustrie
    • IOT
  • Wert für
    • CEO
    • CTO
    • Delivery Manager
  • Unser Team
  • Fallstudien
  • Gewusst wie
    • Blog
    • Begegnungen
    • Webinare
    • Ressourcen
Karriere Kontakt aufnehmen
  • Über uns
  • Dienstleistungen
    • Software-Entwicklung
      • Frontend-Softwareentwicklung
      • Backend-Softwareentwicklung
    • Staff Augmentation
      • Frontend-Entwickler
      • Backend-Entwickler
      • Daten-Ingenieure
      • Cloud-Ingenieure
      • QS-Ingenieure
      • Andere
    • IT-Beratung
      • Prüfung und Beratung
  • Wert für
    • CEO
    • CTO
    • Delivery Manager
  • Unser Team
  • Fallstudien
  • Gewusst wie
    • Blog
    • Begegnungen
    • Webinare
    • Ressourcen
Karriere Kontakt aufnehmen
Pfeil zurück ZURÜCK
2022-06-10
Software-Entwicklung

Pflege eines Projekts in PHP: 5 zu vermeidende Fehler

Der Codest

Sebastian Luczak

PHP Einheitsführer

Über die Fehler, die bei der Durchführung eines Projekts gemacht werden, ist schon mehr als ein Artikel geschrieben worden, aber nur selten werden die Projektanforderungen und das Risikomanagement angesichts der gewählten Technologie betrachtet.

PHPhat, wie andere Sprachen auch, einige Nachteile, die aber nichts wert sind, wenn es um die Verwaltung einer IT Projekt wobei PHP ist die führende Sprache.

Nachfolgend haben wir eine Liste von ihnen zusammengestellt, zusammen mit Tipps, wie man sie vermeiden kann.

1. Nichtbeachtung der Empfehlungen der PHP-Normen

PHP gilt als "einfache Sprache", weil sie eine sehr niedrige Einstiegshürde hat. Dies führt zu großen Unterschieden bei den Kodierungsstandards und der Art und Weise, wie globale Schnittstellen in verschiedenen externen Bibliotheken implementiert werden. In dem Bemühen, Ordnung zu schaffen, wurde eine Reihe von Standards eingeführt. Diese beschreiben eine Reihe von Möglichkeiten, wie der Implementierungsentwickler alle vom Standard geforderten Einschränkungen erfüllen kann. Ein einfaches Beispiel für Ereignis-Disponent:

Listener - Ein Listener ist ein beliebiger PHP aufrufbar, der die Übergabe eines Ereignisses erwartet. Null oder mehr Listener können das gleiche Ereignis erhalten. Ein Listener KANN ein anderes asynchrones Verhalten in die Warteschlange stellen, wenn er dies wünscht.

Mit Hilfe dieses Standards kann jeder Entwickler, der die PSR-kompatible Nomenklatur verwendet, nicht nur problemlos mit der PSR kommunizieren, sondern auch Code mit anderen Entwicklern.
Die Umsetzung dieser Standards in die Praxis, zum Beispiel durch die Verwendung von PHP Der richtige Weg Leitlinien und Bibliotheken, die globale PSR-Schnittstellen unterstützen, ermöglicht PHP Entwickler schnellere Anpassung an Änderungen der funktionalen, architektonischen und infrastrukturellen Anforderungen.

Wie kann ich sie vermeiden?

Als Betreuer der Codebasis sollten Sie immer daran denken, bewährte und stabile Versionen externer Bibliotheken zu verwenden, und wenn Sie gezwungen sind, eine benutzerdefinierte Lösung zu verwenden, implementieren Sie diese mit PHP PSRs.
Eine Liste aller verfügbaren Normen finden Sie auf der Hauptwebsite PHP-FIG. Erweiterte Normen mit praktischen Beschreibungen sind in einer Vielzahl von Formaten bei der PHP Der richtige Weg Homepage.
Die besten Bibliotheken, die den PHP-FIG-Standards entsprechen, sind auf der Seite PHP Liga Website.

2. Keine Sperrung der Versionen der composer.json-Abhängigkeiten

In Projekten, die den Abhängigkeitsmanager verwenden Komponist Häufig kommt es zu einer Situation, in der nach einer langen Zeit der Unterstützung und Pflege des Produkt In der Produktionsumgebung müssen funktionale Änderungen vorgenommen werden, ohne dass die gesamte Architektur neu aufgebaut werden muss. Meistens wird das Projekt dann von einem Programmierer übernommen, dessen Aufgabe darin besteht, die lokale Entwicklungsumgebung zu starten und mit der Arbeit an Tickets zu beginnen. Auf der Grundlage der composer.lock Datei kann der Entwickler das Projekt in den Zustand zurückversetzen, in dem es sich in der Produktionsumgebung befand, aber jede Änderung an der komponist.json Datei, z. B. durch Hinzufügen der Bibliothek, führt zu einer Kaskade von Fehlern, die die tatsächliche Zeit für die Implementierung einer neuen Team Mitglied der Organisation sowie die Zeit der Entwicklung der Lösung.

Wie kann ich sie vermeiden?

Sobald die Anwendung stabil ist, sollte der Codeverwalter die Versionen der Bibliotheken in der komponist.json Datei und erstellen Sie ein klares Verfahren, das beschreibt, wie Sie ihre Versionen bei Bedarf aktualisieren können.

Ziehen Sie auch in Betracht, einen Mechanismus zur Überprüfung des Sicherheitsstatus der verwendeten Bibliotheken einzurichten und die Bereitstellung von Sicherheitsupdates zu automatisieren.
Mit kostenlosen Tools wie Dependabotkönnen wir sowohl eine konsistente, verwaltbare Versionsinfrastruktur für abhängige Bibliotheken pflegen als auch eine Sicherheitsgarantie für unsere Anwendung bieten.

3. Schlechte Anforderungserhebung

> Es ist nur ein CRUD, warum sich die Mühe machen?

> Es gibt eine Bibliothek, die genau das tut!

In der PHP ist es leicht, bei der Implementierung der Geschäftslogik von Produkten in den Strudel der Vergesslichkeit zu geraten. Im Laufe der Jahre gab es Hunderte von Projekten, die [administrative Panels zur Verwaltung von Datenmodellen erstellen](https://backpackforlaravel.com/), [Google Analytics-ähnliche Ansichten generieren](https://github.com/Kunstmaan/KunstmaanDashboardBundle) oder [die asynchronen Probleme von PHP lösen](https://laravel.com/docs/9.x/octane) - und das alles mit einem Zauberstab (OK, mit einer einzigen Befehlszeilenabfrage).
Die PHP-Welt ist voller fertiger Implementierungen, die in 99,9% der Zeit funktionieren.
Bei 0.1% kollidiert die Geschäftslogik mit den funktionalen Einschränkungen der verwendeten Bibliotheken.
Es sind diese so genannten "throw-ins", die am Ende des Projekts am schwierigsten zu implementieren sind.

Wie kann ich sie vermeiden?

Es gibt keine Chance, den goldenen Mittelweg zwischen Overengineering und Underengineering zu finden, wenn man das Geschäftsfeld des Produkts nicht richtig versteht.
Durch den Start Entwicklungsteam Durch eine frühzeitige Beteiligung an der Produktentwicklung und eine proaktive Zusammenarbeit mit dem Produktverantwortlichen können Sie das Risiko minimieren, dass eine Lösung verwendet wird, die langfristig nicht funktioniert.

4. Kosteneinsparungen durch Verzicht auf das Schreiben von Tests

PHP ist nicht perfekt, soviel ist sicher. Seine Unzulänglichkeiten in Bezug auf die statische Typisierung, die fehlende Unterstützung für Generika und die fortgesetzte Unterstützung für archaische Methoden sind immer noch eine Quelle für Witze unter Programmierern. Dennoch, seit einiger Zeit PHP Entwickler haben immer leistungsfähigere Instrumente erhalten wie PHPStan, Xdebug, PHP-CS-Fixierer die es ihnen ermöglichen, Konsistenz und statische Typisierung aufrechtzuerhalten und so viele Fehler zu vermeiden. Dennoch wird den Tests zu wenig Aufmerksamkeit gewidmet, die, wenn sie richtig implementiert sind, einen schnellen Return on Investment in Form von
- Reduzierung der Regressionsfehler
- erhöhtes Bewusstsein für die Produktmöglichkeiten
- Stärkung des Verantwortungsgefühls der Entwickler für den Code

Wie kann ich sie vermeiden?

Sparen Sie nicht an den Kosten für Tests. Das Schreiben einfacher Behat-Skripte ist wirklich nicht schwer. Sie müssen nicht gleich komplexe End-to-End-Tests schreiben oder sich mit Implementierungsdetails befassen und jede Methode einem Unit-Test unterziehen.
Ein einfacher Behat-Test, der in natürlicher Domänensprache beschrieben ist, ist oft mehr wert als der am sorgfältigsten geschriebene End-to-End-Test.

5. Keine Berücksichtigung von modernen Architekturmustern

Die PHP Sprache und seine beiden leistungsfähigsten Rahmenwerke Laravel und Symfony sind bestens geeignet, um eine moderne, funktionale und vor allem leistungsstarke Architektur zu schaffen. Die Unterstützung für verschiedene Warteschlangensysteme und die immer schnelleren PHP Leistungsverbesserungen von Version zu Version ermöglichen uns die einfache Erstellung von Microservices auf der Grundlage von Microframeworks. In den meisten Fällen setzen wir jedoch nach wie vor auf monolithische Systeme. Daran ist nichts auszusetzen, aber bei der Entwicklung solcher Systeme müssen wir genau auf die Domänengrenzen achten und die Schnittstellen zwischen neuen Lösungen und älteren Teilen des Systems festlegen.

Wie kann ich sie vermeiden?

Bei der Entwicklung jeder PHP Website lohnt es sich, aktuelle Lösungen unter die Lupe zu nehmen, globale Schnittstellen für die Datenkommunikation zu schaffen und neue Funktionalitäten mit den neuesten Techniken und Praktiken zu implementieren. Eine der in der Praxis am häufigsten eingesetzten Lösungen ist Würger-Muster.

Ähnliche Artikel

Software-Entwicklung

PHP Entwicklung. Symfony Konsolen-Komponente - Tipps & Tricks

Dieser Artikel wurde mit dem Ziel erstellt, Ihnen die nützlichsten und abrufbarsten Tipps und Tricks über Symfony Console Development zu zeigen.

Der Codest
Sebastian Luczak PHP Einheitsführer
E-commerce

Dilemmas der Cybersicherheit: Datenlecks

Der vorweihnachtliche Ansturm ist in vollem Gange. Auf der Suche nach Geschenken für ihre Liebsten sind die Menschen zunehmend bereit, Online-Shops zu "stürmen"

Der Codest
Jakub Jakubowicz CTO & Mitbegründer
Software-Entwicklung

Einstellung von internen vs. externen Entwicklern

Internes oder externes Personal einstellen? Das ist ein ultimatives Dilemma! Im folgenden Artikel erfahren Sie mehr über die Vorteile des Outsourcings oder des Aufbaus eines internen Teams.

Der Codest
Grzegorz Rozmus Leiter der Java-Abteilung
Enterprise & Scaleups Lösungen

Der richtige Weg, um Top-Java-Entwickler zu finden

Die Suche nach dem perfekten Java-Entwickler kann eine entmutigende Aufgabe sein. Da die Marktnachfrage nach solchen Fachkräften in einem erstaunlichen Tempo wächst, können die verfügbaren Quellen für die Talentsuche manchmal...

Der Codest
Grzegorz Rozmus Leiter der Java-Abteilung

Abonnieren Sie unsere Wissensdatenbank und bleiben Sie auf dem Laufenden über das Fachwissen aus dem IT-Sektor.

    Über uns

    The Codest - Internationales Software-Unternehmen mit technischen Zentren in Polen.

    Vereinigtes Königreich - Hauptsitz

    • Büro 303B, 182-184 High Street North E6 2JA
      London, England

    Polen - Lokale Tech-Hubs

    • Fabryczna Office Park, Aleja
      Pokoju 18, 31-564 Kraków
    • Brain Embassy, Konstruktorska
      11, 02-673 Warszawa, Polen

      Der Codest

    • Startseite
    • Über uns
    • Dienstleistungen
    • Fallstudien
    • Gewusst wie
    • Karriere
    • Wörterbuch

      Dienstleistungen

    • IT-Beratung
    • Software-Entwicklung
    • Backend-Softwareentwicklung
    • Frontend-Softwareentwicklung
    • Staff Augmentation
    • Backend-Entwickler
    • Cloud-Ingenieure
    • Daten-Ingenieure
    • Andere
    • QS-Ingenieure

      Ressourcen

    • Fakten und Mythen über die Zusammenarbeit mit einem externen Softwareentwicklungspartner
    • Aus den USA nach Europa: Warum entscheiden sich amerikanische Start-ups für eine Verlagerung nach Europa?
    • Tech Offshore Development Hubs im Vergleich: Tech Offshore Europa (Polen), ASEAN (Philippinen), Eurasien (Türkei)
    • Was sind die größten Herausforderungen für CTOs und CIOs?
    • Der Codest
    • Der Codest
    • Der Codest
    • Privacy policy
    • Website terms of use

    Urheberrecht © 2025 von The Codest. Alle Rechte vorbehalten.

    de_DEGerman
    en_USEnglish sv_SESwedish da_DKDanish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish arArabic it_ITItalian jaJapanese ko_KRKorean es_ESSpanish nl_NLDutch etEstonian elGreek de_DEGerman