A.3. Соглашения по именованию

A.3.1. Классы

Zend Framework использует схему именования классов, в соответсвтвии с которой имена классов напрямую указывают на директории, где они находятся. Корневой директорией Zend Framework'а является директория "Zend/", в которой иерархически расположены все классы.

Имена классов могут содержать только буквенно-числовые символы. Числа допустимы в именах классов, но не приветствуются. Символы нижнего подчеркивания допустимы в местах разделителей пути - имя файла "Zend/Db/Table.php" должно указывать на класс с именем "Zend_Db_Table".

Если имя класса состоит из более чем одного слова, первая буква каждого слова должна быть заглавной. Последующие заглавные буквы не допустимы, например имя класса "Zend_PDF" - недопустимо, в то время как имя "Zend_Pdf" - допустимо.

Классы Zend Framework'а написанных Zend'ом или одной из участвующих компаний-партнеров и распространяемых с фреймворком должны всегда начинаться с префикса "Zend_" и должны располагаться в директории "Zend/" в соответствии с иерархией.

Ниже примеры допустимых имен классов:

Zend_Db

Zend_View

Zend_View_Helper

ВАЖНО: Код, который оперирует с фреймворком, но не является его частью, например, код написанный пользователем фреймворка и это не компания Zend или один из партнеров по фреймворку, не должен начинаться с префикса "Zend_".

A.3.2. Интерфейсы

Интерфейсы должны следовать такой же схеме именования как и классы (смотрите выше), однако должны заканчиваться словом "Interface", как в следующих примерах:

Zend_Log_Adapter_Interface
Zend_Controller_Dispatcher_Interface

A.3.3. Имена файлов

Для файлов допустимы буквенно-числовые символы, символы нижнего подчеркивания и тире ("-"). Пробелы запрещены.

Любой файл содержащий PHP-код должен иметь расширение ".php". Это примеры показывают допустимые имена файлов для классов из примеров в секции выше:

Zend/Db.php

Zend/Controller/Front.php

Zend/View/Helper/FormRadio.php

Имена файлов отражаются на имена классов, как описано выше.

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

Имена функций могут содержать буквенно-числовые символы. Символы нижнего подчеркивания не разрешены. Числа разрешены в именах функций, но не приветствуются.

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

Многословность приветствуется. Имена функций должны быть настолько говорящими, насколько это практично для повышения понимаемости кода.

Это примеры допустимых имен функций:

filterInput()

getElementById()

widgetFactory()

Для объектно-ориентированного программирования традиционно, что методы доступа должны всегда иметь префикс "get" или "set". Когда используются шаблоны проектирования, такие как "синглтон" или "фабрика", имена методов должны содержать имя шаблона, где практично, чтобы шаблон более быстро узнаваем.

Функции в глобальной области видимости ("плавающие функции") допустимы, но не приветствуются. Рекоммендуется обрамлять такие функции в статические классы.

A.3.5. Переменные

Имена переменных могут содержать буквенно-числовые символы. Символы нижнего подчеркивания не разрешены. Числа разрешены в именах переменных, но не приветствуются.

Для переменных - членов классов, определенных с помощью префиксов области видимости "private" или "protected", первый символ имени должен быть один символ нижнего подчеркивания. Это единственное допустимое использование символа нижнего подчеркивания в имени. Переменные - члены классов определенные с помощью префикса области видимости "public" никогда не должны начинаться с символа нижнего подчеркивания.

Как и имена функций (смотрите секцию 3.3 выше) имена переменных должны начинаться с буквы в нижнем регистре и следовать "верблюжей" нотации.

Многословность приветствуется. Имена переменных должны быть настолько говорящими, насколько это практично. Краткие имена переменных, такие как "$i" и "$n" не приветствуются нигде, кроме как в контексте маленьких циклов. Если цикл содержить более 20 строк кода, переменные для индексов должны иметь более говорящие имена.

A.3.6. Константы

Константы могут содержать буквенно-числовые символы и символы нижнего подчеркивания. Числа разрешены в именах констант.

Имена констант должны быть в верхнем регистре.

Константы должны быть определены как члены классов с использованием ключевого слова "const". Определение констант в глобальной области видимости с помощью "define" допустимо, но не рекомендуется.