Suche…


Bemerkungen

PHP ist ein Open Source-Projekt, und somit kann jeder dazu beitragen. Grundsätzlich gibt es zwei Möglichkeiten, zum PHP-Kern beizutragen:

  • Bugfixing
  • Funktionserweiterungen

Bevor Sie einen Beitrag leisten, ist es jedoch wichtig zu verstehen, wie PHP-Versionen verwaltet und freigegeben werden, damit Fehlerbehebungen und Funktionsanforderungen die richtige PHP-Version ansprechen können. Die entwickelten Änderungen können als Pull-Anforderung an das PHP-Github-Repository übermittelt werden. Nützliche Informationen für Entwickler finden Sie im Abschnitt "Get Involved" der PHP.net-Site und im #externals-Forum .

Mit Bugfixes beitragen

Für diejenigen, die einen Beitrag zum Kern leisten möchten, ist es in der Regel einfacher, mit der Fehlerbehebung zu beginnen. Auf diese Weise können Sie sich mit den Interna von PHP vertraut machen, bevor Sie versuchen, komplexere Modifikationen am Kern vorzunehmen, die eine Funktion erfordern würde.

In Bezug auf den Versionsverwaltungsprozess sollten Fehlerbehebungen auf die niedrigste betroffene Version abzielen, während die PHP-Version weiterhin unterstützt wird . Es ist diese Version, auf die die Fehlerbehebung bei Pull-Anfragen zielen sollte. Von dort aus kann ein internes Mitglied den Fix mit dem richtigen Zweig zusammenführen und ihn bei Bedarf nach oben zu späteren PHP-Versionen zusammenführen.

Für diejenigen, die mit dem Beheben von Fehlern beginnen möchten , finden Sie eine Liste der Fehlerberichte unter bugs.php.net .

Mit Feature-Ergänzungen beitragen

PHP folgt einem RFC-Prozess, wenn neue Funktionen eingeführt und wichtige Änderungen an der Sprache vorgenommen werden. Über RFCs wird von Mitgliedern von php.net abgestimmt und muss entweder eine einfache Mehrheit (50% + 1) oder eine Supermehrheit (2/3 + 1) der Gesamtstimmen erreicht werden. Eine übergeordnete Mehrheit ist erforderlich, wenn die Änderung die Sprache selbst beeinflusst (z. B. die Einführung einer neuen Syntax). Andernfalls ist nur eine einfache Mehrheit erforderlich.

Bevor RFCs zur Abstimmung gestellt werden können, müssen sie sich mindestens zwei Wochen lang auf der offiziellen PHP-Mailingliste befinden. Nach Ablauf dieser Frist und wenn keine offenen Probleme mit der RFC bestehen, kann sie in das Voting verschoben werden, das mindestens eine Woche dauern muss.

Wenn ein Benutzer einen zuvor abgelehnten RFC wiederherstellen möchte, kann er dies nur unter einer der beiden folgenden Bedingungen tun:

  • 6 Monate sind seit der letzten Abstimmung vergangen
  • Die Verfasser nehmen wesentliche Änderungen am RFC vor, die wahrscheinlich das Abstimmungsergebnis beeinflussen würden, falls der RFC erneut zur Abstimmung gestellt wird.

Die Personen, die das Recht haben zu wählen, werden entweder selbst Beiträge zu PHP selbst leisten (und damit auch über php.net-Konten verfügen) oder Vertreter der PHP-Community. Diese Vertreter werden von Personen mit php.net-Konten ausgewählt und führen entweder Entwickler von PHP-basierten Projekten oder regelmäßige Teilnehmer zu internen Diskussionen.

Bei der Einreichung neuer Vorschläge für Vorschläge ist es fast immer erforderlich, dass der Antragsteller zumindest einen Proof-of-Concept-Patch schreibt. Dies liegt daran, dass der Vorschlag ohne Implementierung einfach zu einer weiteren Funktionsanforderung wird, die in naher Zukunft wahrscheinlich nicht erfüllt wird.

Eine ausführliche Anleitung zu diesem Vorgang finden Sie auf der offiziellen Seite zum Erstellen einer RFC- Seite.

Veröffentlichungen

Die wichtigsten PHP-Versionen haben keinen festgelegten Freigabezyklus und können daher nach Ermessen des Internals-Teams freigegeben werden (wann immer sie für eine neue Hauptversion geeignet sind). Minor-Versionen werden dagegen jährlich veröffentlicht.

Vor jedem Release in PHP (Major, Minor oder Patch) wird eine Reihe von Release-Kandidaten (RCs) zur Verfügung gestellt. PHP verwendet eine RC nicht wie andere Projekte (dh wenn eine RC keine Probleme damit gefunden hat, dann machen Sie es als nächste endgültige Version). Stattdessen werden sie als endgültige Betas verwendet, wobei normalerweise eine festgelegte Anzahl von RCs vor der endgültigen Veröffentlichung festgelegt wird.

Versionierung

PHP versucht im Allgemeinen nach Möglichkeit der semantischen Versionierung. Daher sollte die Rückwärtskompatibilität (BC) in Neben- und Patch-Versionen der Sprache beibehalten werden. Funktionen und Änderungen, die BC beibehalten, sollten auf untergeordnete Versionen (nicht auf Patch-Versionen) abzielen. Wenn ein Feature oder eine Änderung das Potenzial hat, BC zu brechen, sollten sie stattdessen auf die nächste größere PHP-Version ( X .yz) abzielen.

Jede untergeordnete PHP-Version (x. Y .z) bietet zwei Jahre allgemeine Unterstützung (sogenannte "aktive Unterstützung") für alle Arten von Fehlerkorrekturen. Darüber hinaus wird für die Sicherheitsunterstützung ein weiteres Jahr hinzugefügt, in dem nur sicherheitsrelevante Korrekturen angewendet werden. Nach Ablauf der drei Jahre wird die Unterstützung für diese PHP-Version vollständig eingestellt. Eine Liste der aktuell unterstützten PHP-Versionen finden Sie unter php.net .

Eine grundlegende Entwicklungsumgebung einrichten

Der Quellcode von PHP wird auf GitHub gehostet . Um aus dem Quellcode zu erstellen, müssen Sie zunächst eine Arbeitskopie des Codes auschecken.

mkdir /usr/local/src/php-7.0/
cd /usr/local/src/php-7.0/
git clone -b PHP-7.0 https://github.com/php/php-src .

Wenn Sie eine Funktion hinzufügen möchten, erstellen Sie am besten einen eigenen Zweig.

git checkout -b my_private_branch

Schließlich konfigurieren und bauen Sie PHP

./buildconf
./configure
make
make test
make install

Wenn die Konfiguration aufgrund fehlender Abhängigkeiten fehlschlägt, müssen Sie das Paketverwaltungssystem Ihres Betriebssystems verwenden, um sie zu installieren (z. B. yum , apt usw.), oder sie vom Quellcode herunterladen und kompilieren.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow