3.2. Стандарты разработки

3.2.1. Стандарты программирования

3.2.1.4. Описание функции

Правила описания функций следуют из формата вызова функций. В конце строки объявления функции ставится открывающаяся фигурная скобка. Список глобальных переменных (если используются) должен быть сразу на следующей строке после открывающейся фигурной скобкой. Между списком переменных и первой строкой кода функции должна быть пустая строка. Если глобальные переменные не объявляются, то необходимо поставить пустую строку между открывающейся фигурной скобкой и первой строкой кода функции.

  function fooFunction($arg1, $arg2 = '') {
    global $foo1, $foo2;

    if (condition) {
      statement;
    }
    return $val;
  }
			

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

  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;
  }
			

3.2.1.6. Подключение кода

Везде, где Вы безусловно включаете файл класса, используйте require_once(). Везде, где Вы условно включаете файл класса (например, обрабатывающие методы), используйте include_once(). В любом случае будте уверены, что файлы включаются только один раз. Они заносятся в один список файлов, поэтому Вам не надо волноваться, что они смешаются - файл включенный с помощью require_once() не будет опять включен include_once().

3.2.2. Прочие соглашения