Содержание

Стандарты кодирования

Общее редактирование кода

Языковые конструкции

Операторы

Идентация, новые строка и проч.

Функции, переменные, классы, методы и проч.

Названия

Уровни доступа(public/protected/private)

Т.к Limb3 изначально разрабатывался для PHP4, после перехода на PHP5 не вся кодовая база использует правильные уровни доступа, однако эта ситуация будет постепенно исправлена в последующих релизах. Небольшие рекомендации насчет использования уровней доступа:

TypeHints

На данный момент не рекомендуется пользоваться typehints вообще, т.к мок объекты SimpleTest 1.x конфликтуют с ними. Однако с выходом SimpleTest2 данная ситуация будет исправлена и использование typehints будет приветствоваться.

Включения PHP исходных файлов

Комментарии

Лицензия

/**********************************************************************************
* Copyright 2004 BIT, Ltd. http://limb-project.com, mailto: support@limb-project.com
*
* Released under the LGPL license (http://www.gnu.org/copyleft/lesser.html)
***********************************************************************************
*
* $Id$
*
***********************************************************************************/

Пример кода

/**********************************************************************************
* Copyright 2004 BIT, Ltd. http://limb-project.com, mailto: support@limb-project.com
*
* Released under the LGPL license (http://www.gnu.org/copyleft/lesser.html)
***********************************************************************************
*
* $Id$
*
***********************************************************************************/
require_once(SOME_DIR . '/Foo.class.php'); 
 
//класс
class FooClass
{
  //аттрибуты
  protected $foo_name;
  protected $request;
 
  //конструктор
  function FooClass($request)
  {
    $this->request = $request;
    $this->foo_name = 'Foo';
  }
 
  protected function _createBar()
  {
    iclude_once(SOME_DIR . '/Bar.class.php');
    return new Bar(); 
  }
 
  //метод
  function doIt()
  {
    if($this->foo_name == 'Bar')
    {
      $res = globalDoIt();
      echo $res;
    }
 
    //для простых управляющих конструкций {} можно опускать
    if($this->foo_name == 'Test')
      return;
 
    //логически сгруппированный блок кода
    $db = getDbConnection();
    $it = $db->exec('select * from a');
 
    foreach($it as $record)
      echo $record->get('id');
 
    $i++;
  }
}
 
//функция
function globalDoIt()
{
  $some_var = 1;
  return 1;
}

Расположение кода в файловой системе