PHP
Wkład w rdzeń PHP
Szukaj…
Uwagi
PHP jest projektem typu open source i dlatego każdy może się do niego przyczynić. Ogólnie rzecz biorąc, istnieją dwa sposoby na wniesienie wkładu do rdzenia PHP:
- Naprawa błędów
- Dodatki do funkcji
Jednak przed wniesieniem wkładu ważne jest, aby zrozumieć, w jaki sposób wersje PHP są zarządzane i wydawane, aby poprawki błędów i żądania funkcji mogły być kierowane na właściwą wersję PHP. Opracowane zmiany można przesłać jako żądanie ściągnięcia do repozytorium Github PHP . Przydatne informacje dla programistów można znaleźć w sekcji „Zaangażuj się” w witrynie PHP.net i na forum #externals .
Współdziałanie z poprawkami błędów
Dla tych, którzy chcą zacząć wkładać do rdzenia, na ogół łatwiej jest zacząć od naprawy błędów. Pomaga to w zaznajomieniu się z wewnętrznymi elementami PHP przed próbą wprowadzenia bardziej złożonych modyfikacji rdzenia, których wymagałaby dana funkcja.
Jeśli chodzi o proces zarządzania wersjami, poprawki błędów powinny być ukierunkowane na najsłabiej dotknięte, a jednocześnie wspierać wersję PHP. To jest ta wersja, na którą powinny kierować żądania naprawy błędów. Stamtąd członek wewnętrzny może scalić poprawkę do właściwej gałęzi, a następnie w razie potrzeby scalić ją w górę do późniejszych wersji PHP.
Dla tych, którzy chcą rozpocząć rozwiązywanie problemów , listę zgłoszeń błędów można znaleźć na stronie bugs.php.net .
Wkład z dodatkami funkcji
PHP wprowadza proces RFC podczas wprowadzania nowych funkcji i wprowadzania ważnych zmian w języku. Głosy RFC są głosowane przez członków php.net i muszą osiągnąć zwykłą większość (50% + 1) lub super większość (2/3 + 1) wszystkich głosów. Większa większość jest wymagana, jeśli zmiana wpływa na sam język (np. Wprowadzenie nowej składni), w przeciwnym razie wymagana jest tylko zwykła większość.
Zanim RFC zostaną poddane pod głosowanie, muszą przejść co najmniej 2-tygodniowy okres dyskusji na oficjalnej liście dyskusyjnej PHP. Po upływie tego okresu, gdy nie ma żadnych otwartych problemów z RFC, można go następnie przenieść na głosowanie, które musi trwać co najmniej 1 tydzień.
Jeśli użytkownik chce przywrócić poprzednio odrzucony RFC, może to zrobić tylko w jednej z następujących dwóch sytuacji:
- Od poprzedniego głosowania minęło 6 miesięcy
- Autor (autorzy) dokonali wystarczająco istotnych zmian w RFC, które prawdopodobnie wpłynęłyby na wynik głosowania w przypadku ponownego poddania RFC głosowaniu.
Ludzie, którzy mają przywilej głosowania, będą albo współautorami samego PHP (podobnie jak konta php.net), albo będą przedstawicielami społeczności PHP. Przedstawiciele ci są wybierani przez osoby posiadające konta php.net i będą albo głównymi programistami projektów opartych na PHP lub zwykłymi uczestnikami wewnętrznych dyskusji.
Przy zgłaszaniu nowych pomysłów na propozycję prawie zawsze wymagane jest, aby wnioskodawca napisał przynajmniej poprawkę koncepcji. Wynika to z faktu, że bez implementacji sugestia staje się kolejnym żądaniem funkcji, które prawdopodobnie nie zostanie zrealizowane w najbliższej przyszłości.
Dokładne instrukcje dotyczące tego procesu można znaleźć na oficjalnej stronie Jak utworzyć stronę RFC .
Wydawnictwa
Główne wersje PHP nie mają ustawionego cyklu wydań, więc mogą zostać wydane według uznania zespołu ds. Wewnętrznych (ilekroć uznają to za stosowne dla nowego ważnego wydania). Z kolei mniejsze wersje są wydawane co roku.
Przed każdym wydaniem w PHP (wersja główna, mniejsza lub łatka) udostępniana jest seria kandydatów do wydania (RC). PHP nie używa RC, jak inne projekty (tj. Jeśli RC nie ma z nim problemów, to ustaw go jako następną wersję końcową). Zamiast tego wykorzystuje je jako formę ostatecznych wersji beta, w których zazwyczaj ustalana jest liczba RC przed ostatecznym wydaniem.
Wersjonowanie
PHP zazwyczaj próbuje śledzić wersje semantyczne tam, gdzie to możliwe. W związku z tym należy zachować zgodność wsteczną (BC) w mniejszych i łatających wersjach języka. Funkcje i zmiany, które zachowują BC, powinny być kierowane na mniejsze wersje (nie wersje łatek). Jeśli funkcja lub zmiana może spowodować uszkodzenie BC, powinny one zamiast tego dążyć do następnej głównej wersji PHP ( X .yz).
Każda niewielka wersja PHP (x. Y .z) ma dwa lata ogólnego wsparcia (tak zwane „aktywne wsparcie”) dla wszystkich rodzajów poprawek błędów. Dodano dodatkowy rok na wsparcie bezpieczeństwa, w którym stosowane są tylko poprawki związane z bezpieczeństwem. Po upływie trzech lat obsługa tej wersji PHP jest całkowicie odrzucana. Listę obecnie obsługiwanych wersji PHP można znaleźć na stronie php.net .
Konfigurowanie podstawowego środowiska programistycznego
Kod źródłowy PHP jest hostowany na GitHub . Aby zbudować ze źródła, najpierw musisz sprawdzić kopię roboczą kodu.
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 .
Jeśli chcesz dodać funkcję, najlepiej utworzyć własny oddział.
git checkout -b my_private_branch
Na koniec skonfiguruj i zbuduj PHP
./buildconf
./configure
make
make test
make install
Jeśli konfiguracja nie powiedzie się z powodu brakujących zależności, będziesz musiał użyć systemu zarządzania pakietami systemu operacyjnego, aby je zainstalować (np. yum
, apt
itp.) Lub pobrać i skompilować je ze źródła.