Sök…


Anmärkningar

PHP är ett öppen källkodsprojekt, och som sådan kan alla bidra till det. I stort sett finns det två sätt att bidra till PHP-kärnan:

  • Buggfixande
  • Feature tillägg

Innan du bidrar är det emellertid viktigt att förstå hur PHP-versioner hanteras och släpps så att felfixar och funktionsförfrågningar kan rikta in sig på rätt PHP-version. De utvecklade ändringarna kan skickas in som en dragförfrågan till PHP Github-förvaret . Användbar information för utvecklare kan hittas i avsnittet "Bli involverad" på PHP.net-webbplatsen och #externals-forumet .

Bidrar med bugfixes

För dem som vill börja bidra till kärnan är det i allmänhet lättare att börja med buggfixning. Detta hjälper dig att bli bekant med PHP: s interna innan du försöker göra mer komplexa ändringar av kärnan som en funktion skulle kräva.

Beträffande versionhanteringsprocessen bör bugfixar rikta in sig på de lägst påverkade, medan de fortfarande stöds PHP-versionen. Det är den här versionen som buggfixande dragförfrågningar bör rikta in sig på. Därifrån kan en internmedlem sammanfoga fixen i rätt gren och sedan smälta den uppåt till senare PHP-versioner vid behov.

För dig som vill komma igång med att lösa buggar kan du hitta en lista över felrapporter på bugs.php.net .

Bidra med funktionstillägg

PHP följer en RFC-process när man introducerar nya funktioner och gör viktiga förändringar i språket. RFC: er röstas om av medlemmar i php.net och måste antingen uppnå en enkel majoritet (50% + 1) eller en super majoritet (2/3 + 1) av de totala rösterna. En super majoritet krävs om förändringen påverkar själva språket (som att införa en ny syntax), annars krävs bara en enkel majoritet.

Innan RFC: er kan rösta måste de genomgå en diskussionsperiod på minst 2 veckor på den officiella PHP-sändlistan. När denna period är klar, och det inte finns några öppna problem med RFC, kan den sedan flyttas till omröstning, som måste pågå minst en vecka.

Om en användare vill återuppliva en tidigare avvisad RFC, kan de göra det bara under en av följande två omständigheter:

  • 6 månader har gått från föregående omröstning
  • Författaren (erna) gör tillräckligt stora ändringar av RFC som sannolikt skulle påverka resultatet av omröstningen om RFC skulle komma att rösta igen.

De människor som har förmånen att rösta kommer antingen att bidra till PHP själv (och så har php.net-konton), eller vara företrädare för PHP-gemenskapen. Dessa representanter väljs av de med php.net-konton och kommer antingen att vara ledande utvecklare av PHP-baserade projekt eller vanliga deltagare till interna diskussioner.

När man lägger fram nya idéer för förslag krävs det nästan alltid att förslagsställaren skriver åtminstone en korrektur-of-concept-lapp. Detta beror på att utan en implementering blir förslaget helt enkelt en annan begäran om funktion som sannolikt inte kommer att uppfyllas inom en snar framtid.

En grundlig beskrivning av denna process kan hittas på den officiella hur man skapar en RFC- sida.

Pressmeddelanden

Major PHP-versioner har ingen angiven frisläppningscykel, och därför kan de släppas efter internteamets bedömning (närhelst de ser sig lämpliga för en ny större version) Mindre versioner å andra sidan släpps årligen.

Före varje utgåva i PHP (major, minor eller patch) görs en serie release kandidater (RC) tillgängliga. PHP använder inte en RC som andra projekt gör (dvs. om en RC inte har några problem med det, gör det som nästa slutliga utgåva). Istället använder den dem som en form av slutbetor, där vanligtvis ett bestämt antal RC: er bestäms innan den slutliga utgåvan görs.

versionshantering

PHP försöker i allmänhet följa semantisk versionering där det är möjligt. Som sådan bör bakåtkompatibilitet (BC) bibehållas i mindre och patch-versioner av språket. Funktioner och ändringar som bevarar BC bör inriktas på mindre versioner (inte patchversioner). Om en funktion eller förändring har potential att bryta BC, bör de syfta till att rikta in sig på nästa större PHP-version ( X. Yz) istället.

Varje mindre PHP-version (x. Y .z) har två års allmänt stöd (så kallade "aktivt stöd") för alla typer av bugfixar. Ett extra år ovanpå läggs till för säkerhetsstöd, där endast säkerhetsrelaterade korrigeringar används. Efter att de tre åren har gått, tappas stödet för den versionen av PHP helt. En lista med PHP-versioner som för närvarande stöds finns på php.net .

Ställa in en grundläggande utvecklingsmiljö

PHPs källkod är värd på GitHub . För att bygga från källan måste du först kolla in en fungerande kopia av koden.

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 .

Om du vill lägga till en funktion är det bäst att skapa din egen gren.

git checkout -b my_private_branch

Slutligen konfigurera och bygg PHP

./buildconf
./configure
make
make test
make install

Om konfigurationen misslyckas på grund av saknade beroenden måste du använda operativsystemets pakethanteringssystem för att installera dem (t.ex. yum , apt , etc.) eller ladda ner och kompilera dem från källan.



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow