Соглашения об именах

В общем случае, имена классов, функций и переменных всегда должны быть "говорящими" для того, чтобы читатель мог сразу понять для чего они используются.

Классы

Имена классов должны быть удобочитаемыми и понятными. Избегайте использования аббревиатур там, где это возможно. Имена классов должны начинаться с буквы в верхнем регистре. Иерархия классов PEAR также отражается на именах классов, каждый уровень отделяется знаком подчеркивания. Примеры хороших имен классов:

Log Net_Finger HTML_Upload_Error

Функции и методы

Функции и методы должны использовать "венгерскую нотацию" (в другом варианте - "верблюжачью" =)). Функции также должны иметь префикс в виде имени пакета для того, чтобы избежать проблем с аналогичными функциями из других пакетов. Первая буква в имени функции должна быть в нижнем регистре, каждая первая буква "слова" в имени функции - в верхнем. Несколько примеров:

connect() getData() buildSomeWidget() XML_RPC_serializeData()

Приватные методы и свойства (те методы и атрибуты, которые используются только внутри самого класса; PHP пока(?) не поддерживает их настоящее выделение) должны быть префиксированы знаком подчеркивания. Например:

_sort() _initTree() $this->_status

Константы

Имена констант всегда должны быть в верхнем регистре с подчеркиваниями для разделения слов. В качестве префикса в именах констант должно использоваться имя пакета/класса, в котором они используются. Например, все константы, которые используются в пакете DB::, начинаются с "DB_".

Глобальные переменные

Если в вашем пакете необходимо объявить глобальные переменные, то их имя должно начинаться с подчеркивания, имени пакета и еще одного пакета. Например, пакет PEAR использует глобальную переменную, которая называется $_PEAR_destructor_object_list.

Встроенные переменные TRUE, FALSE, NULL

Встроенные переменные PHP TRUE, FALSE and NULL должны быть написаны в нижнем регистре.

Примеры URLов (Previous) File Formats (Next)
Last updated: Wed, 20 Aug 2014 — Download Documentation
Do you think that something on this page is wrong? Please file a bug report or add a note.
View this page in:

User Notes:

Note by: user@example.com
codextasy, I've read some PEAR packages code and they use "public $foo_bar" and "private $_foo_bar".
Note by: codextasy
What about local variables inside functions and methods:
$my_local_var or $myLocalVar?
Note by: Carl
Yes, PHP 5.x has truly private methods and properties if they are preceded by the "private" keyword.
Note by: hablutzel1@hotmail.com
I supposed that in php5 private properties are really private. or is it wrong?
Note by: user@example.com
PHP does not yet support truly-enforceable private namespaces

In PHP 5 you have truly-enforceable private namespaces, don't you?