diff options
author | Stanislav Malyshev <stas@php.net> | 2014-01-26 17:21:33 -0800 |
---|---|---|
committer | Stanislav Malyshev <stas@php.net> | 2014-01-26 17:21:33 -0800 |
commit | 473cd4d6a9c89d0c199bee579bae85b1e6365c65 (patch) | |
tree | 62796ab8df545941a8801df641f1fe7026046ac6 | |
parent | 586f379b88e53752f56c37a5fa73b47533ef65a5 (diff) | |
parent | 223a62d69eeace864cb5deb45e3a56eb3ac3beaa (diff) | |
download | php-git-473cd4d6a9c89d0c199bee579bae85b1e6365c65.tar.gz |
Merge branch 'PHP-5.6'
* PHP-5.6:
Fix English and improve by Stas. Thanks :)
Update source docs
Revert "Update source docs"
Update source docs
-rw-r--r-- | CODING_STANDARDS | 26 | ||||
-rw-r--r-- | README.EXT_SKEL | 30 | ||||
-rw-r--r-- | README.SUBMITTING_PATCH | 11 |
3 files changed, 58 insertions, 9 deletions
diff --git a/CODING_STANDARDS b/CODING_STANDARDS index 5fd3f9f35a..27fff07f60 100644 --- a/CODING_STANDARDS +++ b/CODING_STANDARDS @@ -82,7 +82,7 @@ Exceptions: library may need to control or free the memory, or when the memory in question needs to survive between multiple requests. -Naming Conventions +User Functions/Methods Naming Conventions ------------------ 1. Function names for user-level functions should be enclosed with in @@ -163,6 +163,26 @@ Naming Conventions 'foobar' 'foo_bar' +Internal Function Naming Convensions +---------------------- + +1. Functions that are part of the external API should be named + 'php_modulename_function()' to avoid symbol collision. They should be in + lowercase, with words underscore delimited. Exposed API must be defined + in 'php_modulename.h'. + + PHPAPI char *php_session_create_id(PS_CREATE_SID_ARGS); + + Unexposed module function should be static and should not be defined in + 'php_modulename.h'. + + static int php_session_destroy(TSRMLS_D) + +2. Main module source file must be named 'modulename.c'. + +3. Header file that is used by other sources must be named 'php_modulename.h'. + + Syntax and indentation ---------------------- @@ -181,9 +201,9 @@ Syntax and indentation of PHP or one of its standard modules, please maintain the K&R style. This applies to just about everything, starting with indentation and comment styles and up to function declaration - syntax. Also see Indentstyle_. + syntax. Also see Indentstyle. -.. _Indentstyle: http://www.catb.org/~esr/jargon/html/I/indent-style.html + Indentstyle: http://www.catb.org/~esr/jargon/html/I/indent-style.html 3. Be generous with whitespace and braces. Keep one empty line between the variable declaration section and the statements in a block, as well as diff --git a/README.EXT_SKEL b/README.EXT_SKEL index d44fcc5c6a..42df006d24 100644 --- a/README.EXT_SKEL +++ b/README.EXT_SKEL @@ -45,12 +45,29 @@ HOW TO USE IT --proto=filename. +SOURCE AND HEADER FILE NAME + + ./ext_skel generates 'module_name.c' and 'php_module_name.h' as main source + and header files. Keep these names. + + Module functions (User functions) must be named + + module_name_function() + + When you need to expose module functions to other modules, expose functions + strictly needed by others. Exposed internal function must be named + + php_module_name_function() + + See also CODING_STANDARDS. + + FORMAT OF FUNCTION DEFINITIONS FILE All the definitions must be on one line. In it's simplest form, it's just the function name, e.g. - my_function + module_name_function but then you'll be left with an almost empty function body without any argument handling. @@ -72,8 +89,9 @@ FORMAT OF FUNCTION DEFINITIONS FILE An example: - my_function(int arg1, int arg2 [, int arg3 [, int arg4]]) this is my 1st + module_name_function(int arg1, int arg2 [, int arg3 [, int arg4]]) + Arguments arg1 and arg2 are required. Arguments arg3 and arg4 are optional. If possible, the function definition should also contain it's return type @@ -133,15 +151,15 @@ EXAMPLE The following _one_ line - bool my_drawtext(resource image, string text, resource font, int x, int y [, int color]) + bool module_name_drawtext(resource image, string text, resource font, int x, int y [, int color]) will create this function definition for you (note that there are a few question marks to be replaced by you, and you must of course add your own value definitions too): -/* {{{ proto bool my_drawtext(resource image, string text, resource font, int x, int y [, int color]) +/* {{{ proto bool module_name_drawtext(resource image, string text, resource font, int x, int y [, int color]) */ -PHP_FUNCTION(my_drawtext) +PHP_FUNCTION(module_name_drawtext) { char *text = NULL; int argc = ZEND_NUM_ARGS(); @@ -164,7 +182,7 @@ PHP_FUNCTION(my_drawtext) ZEND_FETCH_RESOURCE(???, ???, font, font_id, "???", ???_rsrc_id); } - php_error(E_WARNING, "my_drawtext: not yet implemented"); + php_error(E_WARNING, "module_name_drawtext: not yet implemented"); } /* }}} */ diff --git a/README.SUBMITTING_PATCH b/README.SUBMITTING_PATCH index d1b74bd18d..50a1664a71 100644 --- a/README.SUBMITTING_PATCH +++ b/README.SUBMITTING_PATCH @@ -50,6 +50,17 @@ 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 + +Fork the official PHP repository and send a pull request. A +notification will be sent to the pull request mailing list. Sending a +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/. + PHP Documentation Patches ------------------------- |