Simple Coding Style for PHP - Part 2/2

Some more guidelines:

  • "foreach" is better than "for" which is better than "while".
  • Never use nonsense names for variables e.g. foo, sz, var and etc.
  • Try not to use global variables but if for some reason use them then all global variables and constants will be represented by capital letters e.g. $CACHE_PATH, $FILE_NAME and etc.
  • Try making classes where possible.
  • Long-lived variable (not necessarily a global, or even in the main scope; it is simply a variable that is used through any significant length of code and/or whose representation can use clarification) should have concise but descriptive names.
  • Temporary variables should be short and concise. Numeric variables used for iteration should always be named i, j, k, l, m, and n.
  • We’re not going to use tags like the following . We’ll be using or <script language="php"> </script> (work in Front Page too).
  • Use echo not print.
  • We’ll be using C and C++ style comments i.e. "//" and "/* */". We won’t use "#".
  • Comments like the following are useless so avoid using them.
    // Increment i
  • Using phpdoc for documentation.
  • For multiword names for variables, use underscores to break words.

    $num_elements = count($elements);

  • Function Names:
    They should be all lowercase, and multiword names should be separated by underscores. e.g.
    function print_hello($name)
    echo "Hello $name"; 
  • Class Names:
    • The first letter of a class name is capitalized. This visually distinguishes a class name from a member name.
    • Underscore should be used to simulate nested namespaces.
    • Multiword class names should be concatenated, and the first letter of each word should be capitalized. e.g.
      	class XML_RSS {}
      	class Text_PrettyPrinter {}
  • Method Names:
    The Java style is to concatenate words in multiword method names and uppercase the first letter of every word after the first. e.g.
    class XML_RSS 
        function startHandler() {} 
  • Naming Consistency:

    Variables that are used for similar purposes should have similar names. e.g.


  • Matching Variable Names to Schema Names:

    Variable names that are associated with database records should always have matching names.

    $query   = "SELECT  firstname, lastname, employee_id  
                     FROM    employees" 
    $results =   mysql_query($query); 
    while(list($firstname, $lastname, $employee_id) = mysql_fetch_row()) 
  • Documentation:

    Use phpDocumentor to generate documentation on the fly. Please take a look at the software


Page: 1  2

Did this tutorial help a little? How about buy me a cup of coffee?

Buy me a coffee at

Please feel free to use the comments form below if you have any questions or need more explanation on anything. I do not guarantee a response.

IMPORTANT: You must thoroughy test any instructions on a production-like test environment first before trying anything on production systems. And, make sure it is tested for security, privacy, and safety. See our terms here.