Поиск…


замечания

PHP - это проект с открытым исходным кодом, и в этом каждый может внести свой вклад. Вообще говоря, есть два способа внести вклад в ядро ​​PHP:

  • Исправление ошибок
  • Дополнительные возможности

Однако перед внесением вклада важно понять, как управляются и выпускаются версии PHP, чтобы исправления ошибок и запросы функций могли ориентироваться на правильную версию PHP. Разработанные изменения могут быть представлены в виде запроса на перенос в репозиторий PHP Github . Полезную информацию для разработчиков можно найти в разделе «Получить участие» на сайте PHP.net и форуме #externals .

Содействие исправлениям ошибок

Для тех, кто хочет внести свой вклад в ядро, обычно легче начать с исправления ошибок. Это помогает познакомиться с внутренними компонентами PHP, прежде чем пытаться внести более сложные изменения в ядро, которое потребует функция.

Что касается процесса управления версиями, исправления ошибок должны быть нацелены на наименее затронутые, хотя и поддерживаемые версии PHP. Именно эта версия должна быть нацелена на исправление ошибок при загрузке. Оттуда член внутренних элементов может объединить исправление в правильную ветку, а затем при необходимости объединить его в более поздние версии PHP.

Для тех, кто хочет начать поиск ошибок, список отчетов об ошибках можно найти на bugs.php.net .

Вклад в дополнения функций

PHP следует за процессом RFC при внедрении новых функций и внесении важных изменений в язык. RFC проголосовали члены php.net и должны достичь либо простого большинства (50% + 1), либо суперпостата (2/3 + 1) от общего количества голосов. Высшее большинство требуется, если изменение влияет на сам язык (например, ввод нового синтаксиса), в противном случае требуется простое большинство.

Перед тем, как RFC могут быть поставлены на голосование, они должны пройти период обсуждения не менее 2 недель в официальном списке рассылки PHP. Как только этот период завершится, и нет открытых проблем с RFC, его можно перенести в голосование, которое должно длиться не менее 1 недели.

Если пользователь хотел бы возродить ранее отклоненный RFC, то они могут сделать это только при одном из следующих двух обстоятельств:

  • 6 месяцев прошло с предыдущего голосования
  • Автор (ы) вносит существенные изменения в RFC, которые, вероятно, повлияют на результаты голосования, если RFC будет снова проголосовать.

Люди, которые имеют право голоса, будут либо участниками самого PHP (и, следовательно, имеют учетные записи php.net), либо будут представителями сообщества PHP. Эти представители выбираются теми, у кого есть учетные записи php.net, и будут либо ведущими разработчиками проектов на основе PHP, либо постоянными участниками во внутренних дискуссиях.

Представляя новые идеи для предложения, почти всегда требуется, чтобы автор предложения написал, по крайней мере, патч с доказательством концепции. Это связано с тем, что без реализации предложение просто становится еще одним запросом функции, который вряд ли будет выполнен в ближайшем будущем.

Подробное руководство к этому процессу можно найти на официальной странице « Как создать RFC- страницу».

релизы

Основные версии PHP не имеют установленного цикла выпуска, и поэтому они могут быть выпущены по усмотрению команды внутренних дел (всякий раз, когда они сочтут это подходящим для новой крупной версии). С другой стороны, небольшие версии выпускаются ежегодно.

Перед каждым выпуском в PHP (майор, малый или патч) предоставляется серия кандидатов на выпуск (RC). PHP не использует RC, как это делают другие проекты (т. Е. Если у RC нет проблем с ним, сделайте его как следующий окончательный выпуск). Вместо этого он использует их в качестве формы окончательных бета-версий, где обычно заданное количество RC принимается до окончательной версии.

Versioning

PHP, как правило, пытается следовать семантической версии, где это возможно. Таким образом, обратная совместимость (BC) должна поддерживаться в младших и исправленных версиях языка. Функции и изменения, которые сохраняют BC, должны ориентироваться на небольшие версии (а не на версии патча). Если функция или изменение имеет потенциал , чтобы разбить до н.э., то они должны быть направлены на целевой следующий основной PHP версии (X .yz) вместо этого.

Каждая небольшая версия PHP (x. Y .z) имеет два года общей поддержки (так называемая «активная поддержка») для всех типов исправлений ошибок. Дополнительный год в дополнение к этому добавляется для поддержки безопасности, где применяются только исправления, связанные с безопасностью. По прошествии трех лет поддержка этой версии PHP полностью прекращается. Список поддерживаемых в настоящее время версий PHP можно найти на php.net .

Настройка базовой среды разработки

Исходный код PHP размещен на GitHub . Чтобы построить из источника, вам сначала нужно проверить рабочую копию кода.

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 .

Если вы хотите добавить функцию, лучше создать собственную ветку.

git checkout -b my_private_branch

Наконец, настройте и создайте PHP

./buildconf
./configure
make
make test
make install

Если сбой конфигурации из-за отсутствия зависимостей, вам необходимо будет использовать систему управления пакетами вашей операционной системы для их установки (например, yum , apt и т. Д.) Или загрузить и скомпилировать их из источника.



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow