]> granicus.if.org Git - php/commitdiff
* point people to the manual instead
authorStig Bakken <ssb@php.net>
Wed, 15 Aug 2001 21:03:51 +0000 (21:03 +0000)
committerStig Bakken <ssb@php.net>
Wed, 15 Aug 2001 21:03:51 +0000 (21:03 +0000)
pear/CODING_STANDARDS

index b9dd40f10038592f34bbeb79e1c68c759290ed14..fc0b7dd064351ac63a38eabf949022f7c48fecb8 100644 (file)
@@ -4,251 +4,5 @@
 
 $Id$
 
--------------
-[1] Indenting
-=============
-
-Use an indent of 4 spaces, with no tabs. If you use Emacs to edit PEAR
-code, you should set indent-tabs-mode to nil. Here is an example mode
-hook that will set up Emacs according to these guidelines (you will
-need to ensure that it is called when you are editing php files):
-
-(defun php-mode-hook ()
-  (setq tab-width 4
-        c-basic-offset 4
-        c-hanging-comment-ender-p nil
-       indent-tabs-mode
-       (not
-        (and (string-match "/\\(PEAR\\|pear\\)/" (buffer-file-name))
-             (string-match "\.php$" (buffer-file-name))))))
-
-Here are vim rules for the same thing:
-
-  set expandtab 
-  set shiftwidth=4 
-  set tabstop=4 
-
-
-----------------------
-[2] Control Structures
-======================
-
-These include if, for, while, switch, etc. Here is an example if statement,
-since it is the most complicated of them:
-
-  if ((condition1) || (condition2)) {
-      action1;
-  } elseif ((condition3) && (condition4)) {
-      action2;
-  } else {
-      defaultaction;
-  }
-
-Control statements should have one space between the control keyword
-and opening parenthesis, to distinguish them from function calls.
-
-You are strongly encouraged to always use curly braces even in
-situations where they are technically optional. Having them increases
-readability and decreases the likelihood of logic errors being
-introduced when new lines are added.
-
-For switch statements:
-
-  switch (condition) {
-  case 1:
-      action1;
-      break;
-
-  case 2:
-      action2;
-      break;
-
-  default:
-      defaultaction;
-      break;
-
-  }
-
-
-------------------
-[3] Function Calls
-==================
-
-Functions should be called with no spaces between the function name,
-the opening parenthesis, and the first parameter; spaces between commas
-and each parameter, and no space between the last parameter, the
-closing parenthesis, and the semicolon. Here's an example:
-
-  $var = foo($bar, $baz, $quux);
-
-As displayed above, there should be one space on either side of an
-equals sign used to assign the return value of a function to a
-variable. In the case of a block of related assignments, more space
-may be inserted to promote readability:
-
-  $short         = foo($bar);
-  $long_variable = foo($baz);
-
-
-------------------------
-[4] Function Definitions
-========================
-
-Function declaractions follow the "one true brace" convention:
-
-function fooFunction($arg1, $arg2 = '')
-{
-    if (condition) {
-        statement;
-    }
-    return $val;
-}
-
-Arguments with default values go at the end of the argument list.
-Always attempt to return a meaningful value from a function if one is
-appropriate. Here is a slightly longer example:
-
-function connect(&$dsn, $persistent = false)
-{
-    if (is_array($dsn)) {
-        $dsninfo = &$dsn;
-    } else {
-        $dsninfo = DB::parseDSN($dsn);
-    }
-    
-    if (!$dsninfo || !$dsninfo['phptype']) {
-        return $this->raiseError();
-    }
-    
-    return true;
-}
-
-Functions should be named using the "studly caps" style (also referred to as
-"bumpy case" or "camel caps").  The initial letter of the name is lowercase,
-and each letter that starts a new "word" is capitalized.  Some examples:
-
-    connect()       getData()       buildSomeWidget()
-
-Private class members (meaning class members that an intented to be used
-only from within the same class in which they are declared; PHP does not yet
-support truly-enforceable private namespaces) are preceeded by a single
-underscore.  For example:
-
-    _sort()         _initTree()     $_status
-
-
-------------
-[5] Comments
-============
-
-Inline documentation for classes should follow the PHPDoc convention, similar 
-to Javadoc. More information about PHPDoc can be found here:
-
-    http://www.phpdoc.de/
-
-Non-documentation comments are strongly encouraged. A general rule of
-thumb is that if you look at a section of code and think "Wow, I don't
-want to try and describe that", you need to comment it before you
-forget how it works.
-
-C++ style comments (/* */) and standard C comments (// ) are both
-fine. Use of perl/shell style comments (# ) is discouraged.
-
-
-------------------
-[6] Including Code
-==================
-
-Anywhere you are unconditionally including a class file, use
-require_once. Anywhere you are conditionally including a class file
-(for example, factory methods), use include_once. Either of these will
-ensure that class files are included only once. They share the same
-file list, so you don't need to worry about mixing them - a file
-included with require_once will not be included again by include_once.
-
-Note: include_once and require_once are statements, not functions. You
-don't need parentheses around the filename to be included.
-
-
------------------
-[7] PHP Code Tags
-=================
-
-ALWAYS use <?php ?> to delimit PHP code, not the <? ?> shorthand.
-This is required for PEAR compliance and is also the most portable way
-to include PHP code on differing operating systems and setups.
-
-
--------------------------
-[8] Header Comment Blocks
-=========================
-
-All source code files in the core PEAR distribution should contain the
-following comment block as the header:
-
-/* vim: set expandtab tabstop=4 shiftwidth=4: */
-// +----------------------------------------------------------------------+
-// | PHP version 4.0                                                      |
-// +----------------------------------------------------------------------+
-// | Copyright (c) 1997, 1998, 1999, 2000, 2001 The PHP Group             |
-// +----------------------------------------------------------------------+
-// | This source file is subject to version 2.0 of the PHP license,       |
-// | that is bundled with this package in the file LICENSE, and is        |
-// | available at through the world-wide-web at                           |
-// | http://www.php.net/license/2_02.txt.                                 |
-// | If you did not receive a copy of the PHP license and are unable to   |
-// | obtain it through the world-wide-web, please send a note to          |
-// | license@php.net so we can mail you a copy immediately.               |
-// +----------------------------------------------------------------------+
-// | Authors: Original Author <author@example.com>                        |
-// |          Your Name <you@example.com>                                 |
-// +----------------------------------------------------------------------+
-//
-// $Id$
-
-There's no hard rule to determine when a new code contributer should be
-added to the list of authors for a given source file.  In general, their
-changes should fall into the "substantial" category (meaning somewhere
-around 10% to 20% of code changes).  Exceptions could be made for rewriting
-functions or contributing new logic.
-
-Simple code reorganization or bug fixes would not justify the addition of a
-new individual to the list of authors.
-
-Files not in the core PEAR repository should have a similar block
-stating the copyright, the license, and the authors. All files should
-include the modeline comments to encourage consistency.
-
-
-------------
-[9] CVS Tags
-============
-
-Include the <dollar>Id CVS vendor tag in each file.  As each
-file is edited, add this tag if it's not yet present (or replace existing
-forms such as "Last Modified:", etc.).
-
-[NOTE: we have a custom $Horde tag in Horde cvs to track our versions 
-seperately; we could do the same and make a $PEAR tag, that would remain even 
-if PEAR files were put into another source control system, etc...]
-
-
------------------
-[10] Example URLs
-=================
-
-Use "example.com" for all example URLs, per RFC 2606.
-
-
----------------------
-[11] Naming Constants
-=====================
-
-Constants should always be uppercase, with underscores to seperate
-words. Prefix constant names with the name of the class/package they
-are used in. For example, the constants used by the DB:: package all
-begin with "DB_".
-
-True and false are built in to the php language and behave like
-constants, but should be written in lowercase to distinguish them from
-user-defined constants.
+This document is no longer maintained, see
+http://php.net/manual/en/pear.standards.php instead.