|
|
|
@ -5,7 +5,7 @@ This document describes how to submit an enhancement or patch for PHP. |
|
|
|
It's easy! |
|
|
|
|
|
|
|
You don't need any login accounts or special access to download, |
|
|
|
build, debug and begin submitting PHP, PECL or PEAR code, tests or |
|
|
|
build, debug and begin submitting PHP or PECL code, tests or |
|
|
|
documentation. Once you've followed this README and had several |
|
|
|
patches accepted, commit privileges are often quickly granted. |
|
|
|
|
|
|
|
@ -16,8 +16,8 @@ http://phpadvent.org/2008/less-whining-more-coding-by-elizabeth-smith |
|
|
|
Online Forums |
|
|
|
------------- |
|
|
|
There are several IRC channels where PHP developers are often |
|
|
|
available to discuss questions. They include #php.pecl, #php.doc and |
|
|
|
#pear on the EFNet network and #php-dev-win on FreeNode. |
|
|
|
available to discuss questions. They include #php.pecl and #php.doc |
|
|
|
on the EFNet network and #winphp-dev on FreeNode. |
|
|
|
|
|
|
|
|
|
|
|
PHP Patches |
|
|
|
@ -33,27 +33,17 @@ and discuss it on the development mail list internals@lists.php.net. |
|
|
|
RFC Wiki accounts can be requested on |
|
|
|
http://wiki.php.net/start?do=register. PHP extension maintainers can |
|
|
|
be found in the EXTENSIONS file in the PHP source. Mail list |
|
|
|
subscription is explained on http://www.php.net/mailing-lists.php. |
|
|
|
subscription is explained on http://php.net/mailing-lists.php. |
|
|
|
|
|
|
|
Information on PHP internal C functions is at |
|
|
|
http://www.php.net/internals, though this is considered incomplete. |
|
|
|
Various external resources can be found on the web. A standard |
|
|
|
http://php.net/internals, though this is considered incomplete. |
|
|
|
Various external resources can be found on the web. See |
|
|
|
https://wiki.php.net/internals for some references. A standard |
|
|
|
printed reference is the book "Extending and Embedding PHP" by Sara |
|
|
|
Golemon. |
|
|
|
|
|
|
|
Attach the patch to the PHP bug and consider sending a notification |
|
|
|
email about the change to internals@lists.php.net. Also CC the |
|
|
|
extension maintainer. Explain what has been changed by your patch. |
|
|
|
Test scripts should be included. |
|
|
|
|
|
|
|
Please make the mail subject prefix "[PATCH]". If attaching a patch, |
|
|
|
ensure it has a file extension of ".txt". This is because only MIME |
|
|
|
attachments of type 'text/*' are accepted. |
|
|
|
|
|
|
|
The preferred way to propose PHP patch is sending pull request from |
|
|
|
github. |
|
|
|
|
|
|
|
https://github.com/php/php-src |
|
|
|
GitHub: https://github.com/php/php-src |
|
|
|
|
|
|
|
Fork the official PHP repository and send a pull request. A |
|
|
|
notification will be sent to the pull request mailing list. Sending a |
|
|
|
@ -61,6 +51,17 @@ note to PHP Internals list (internals@lists.php.net) may help getting |
|
|
|
more feedback and quicker turnaround. You can also add pull requests |
|
|
|
to bug reports at http://bugs.php.net/. |
|
|
|
|
|
|
|
If you are not using GitHub, attach your patch to a PHP bug and |
|
|
|
consider sending a notification email about the change to |
|
|
|
internals@lists.php.net. If the bug is for an extension, also CC the |
|
|
|
extension maintainer. Explain what has been changed by your patch. |
|
|
|
Test scripts should be included. |
|
|
|
|
|
|
|
Please make the mail subject prefix "[PATCH]". If attaching a patch, |
|
|
|
ensure it has a file extension of ".txt". This is because only MIME |
|
|
|
attachments of type 'text/*' are accepted. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PHP Documentation Patches |
|
|
|
------------------------- |
|
|
|
@ -71,7 +72,7 @@ the PHP mail archives. |
|
|
|
|
|
|
|
If your change is large, then first discuss it with the mail list |
|
|
|
phpdoc@lists.php.net. Subscription is explained on |
|
|
|
http://www.php.net/mailing-lists.php. |
|
|
|
http://php.net/mailing-lists.php. |
|
|
|
|
|
|
|
Information on contributing to PHP documentation is at |
|
|
|
http://php.net/dochowto and http://wiki.php.net/doc/howto |
|
|
|
@ -89,7 +90,7 @@ of type 'text/*' are accepted. |
|
|
|
PECL Extension Patches: http://pecl.php.net/ |
|
|
|
-------------------------------------------- |
|
|
|
If you are fixing broken functionality in a PECL extension then create |
|
|
|
a bug or identify an existing bug at http://pecl.php.net/bugs/. A bug |
|
|
|
a bug or identify an existing bug at http://bugs.php.net/. A bug |
|
|
|
can be used to track the patch progress and prevent your changes |
|
|
|
getting lost in the PHP mail archives. |
|
|
|
|
|
|
|
@ -125,15 +126,15 @@ http://pear.php.net/manual/en/guide-developers.php |
|
|
|
|
|
|
|
How to create your PHP, PHP Documentation or PECL patch |
|
|
|
------------------------------------------------------- |
|
|
|
PHP and PECL use Subversion (SVN) for revision control. Read |
|
|
|
http://www.php.net/svn.php for help on using SVN to get and build PHP |
|
|
|
source code. We recommend using a Sparse Directory checkout described |
|
|
|
in http://wiki.php.net/vcs/svnfaq. If you are new to SVN, read |
|
|
|
http://svnbook.red-bean.com. |
|
|
|
PHP and most PECL packages use Git for revision control. Some PECL |
|
|
|
packages use Subversion (SVN) Read http://www.php.net/git.php for help |
|
|
|
on using Git to get and build PHP source code. We recommend to look |
|
|
|
at our workflow on https://wiki.php.net/vcs/gitworkflow and our FAQ |
|
|
|
https://wiki.php.net/vcs/gitfaq. |
|
|
|
|
|
|
|
Generally we ask that bug fix patches work on the current stable PHP |
|
|
|
development branches and on "trunk". New PHP features only need to |
|
|
|
work on "trunk". |
|
|
|
development branches and on "master". New PHP features only need to |
|
|
|
work on "master". |
|
|
|
|
|
|
|
Read CODING_STANDARDS before you start working. |
|
|
|
|
|
|
|
@ -145,7 +146,7 @@ comprehensive. |
|
|
|
|
|
|
|
After testing is finished, create a patch file using the command: |
|
|
|
|
|
|
|
svn diff > your_patch.txt |
|
|
|
git diff > your_patch.txt |
|
|
|
|
|
|
|
For ease of review and later troubleshooting, submit individual |
|
|
|
patches for each bug or feature. |
|
|
|
@ -153,7 +154,7 @@ patches for each bug or feature. |
|
|
|
|
|
|
|
Checklist for submitting your PHP or PECL code patch |
|
|
|
---------------------------------------------------- |
|
|
|
- Update SVN source just before running your final 'diff' and |
|
|
|
- Update git source just before running your final 'diff' and |
|
|
|
before testing. |
|
|
|
- Add in-line comments and/or have external documentation ready. |
|
|
|
Use only "/* */" style comments, not "//". |
|
|
|
@ -186,7 +187,7 @@ about these questions: |
|
|
|
|
|
|
|
What happens when your PHP or PECL patch is applied |
|
|
|
--------------------------------------------------- |
|
|
|
Your name will likely be included in the SVN commit log. If your |
|
|
|
Your name will likely be included in the Git commit log. If your |
|
|
|
patch affects end users, a brief description and your name might be |
|
|
|
added to the NEWS file. |
|
|
|
|
|
|
|
|