Skip to content

Core framework code style

samdark edited this page Aug 9, 2012 · 17 revisions
  1. Overview

  • Files MUST use only <?php tags.
  • Files MUST use only UTF-8 without BOM for PHP code.
  • Code MUST use tabs for indenting, not spaces.
  • Class names MUST be declared in StudlyCaps.
  • Class constants MUST be declared in all upper case with underscore separators.
  • Method names MUST be declared in camelCase.
  • Property names MUST be declared in camelCase
  • Property names MUST start with an initial underscore if they are private.
  • Indentation uses http://en.wikipedia.org/wiki/Indent_style#Allman_style with single line expressions on next line, without braces.
  1. Files

2.1. PHP Tags

PHP code MUST use the long <?php ?> tags; it MUST NOT use the other tag variations.

2.2. Character Encoding

PHP code MUST use only UTF-8 without BOM.

  1. Class Names

Class names MUST be declared in StudlyCaps. Core classes should be prefixed with C. For example, CController, CWidget. Application and extension classes should not use C as prefix. For extensions it's common to use E.

  1. Class Constants, Properties, and Methods

The term "class" refers to all classes and interfaces here.

4.1. Constants

Class constants MUST be declared in all upper case with underscore separators. For example:

<?php
class Foo
{
    const VERSION = '1.0';
    const DATE_APPROVED = '2012-06-01';
}

4.2. Properties

Property names MUST be declared in camelCase. Property names MUST start with an initial underscore if they are private. Private properties MUST start with underscore (private $_someProp).

For example:

<?php
class Foo
{
    public $publicProp;
    protected $protectedProp;
    private $_privateProp;
}

4.3. Methods

Method names MUST be declared in camelCase().

4.4 Doc blocks

@param and @var must declare types as boolean, integer, string, array, null.

Clone this wiki locally