Ускоряем разработку на Symfony в Eclipse
Так как Eclipse позволяет нам сохранять как шаблон часто используемые фрагменты кода, а потом вызывать их через (Ctrl+Space), то грех этим не воспользоваться.
Даже если Symfony успешно применяет концепцию “Не повторяй себя” (Don’t Repeat Yourself - DRY), часто, во время разработки, мы пишем одинаковые фрагменты кода.
К примеру, выбрать все записи пропеловского объекта (propel object):
$c = new Criteria();
$objects = PropelObjectPeer::doSelect($c);
В этом посте я хочу показать как создавать шаблоны фрагментов Symfony кода в Eclipse PDT.
КАК СОЗДАВАТЬ ШАБЛОНЫ:
- Кликаем Window, Preferences..
- Выбираем PHP из списка опций
- Выбираем Templates..
- Кликаем New.. и вставляем:
- Name (имя по которому будет вызываться шаблон при редактировании кода)
к примеру “doselect”
- Context: PHP
- Небольшое описание шаблона:
к примеру: “Criteria + doSelect costruct”
- И сам шаблон (pattern):
$$c = new Criteria;
$$${objects} = ${propelObject}Peer::doSelect($$c);
- Теперь, при редактировании php файла, напишите: “doselect” и нажмите (Ctrl+Space).
Эта операция вставит ранее определнный нами шаблон и установит курсор на $переменной и позволит изменить ее имя.
- Изменив $имя переменной, жмем TAB.
Курсор переместиться к имени пропел объекта (propel Object name) и позволить изменить его значение.
- Изменив propel Object name… мы получили наш фрагмет кода, все эти действия займут несколько секунд.
МОИ SYMFONY ШАБЛОНЫ ДЛЯ ECLIPSE
Я написал группу symfony шаблонов под eclipse.
Вы можете скачать symfony-templates.zip и импортировать:
- распакуйте xml файл из zip архива
- Кликаем Window, Preferences..
- Выбираем PHP из списка опций
- Выбираем Templates и Кликаем Import…
- Выбираем symfony-templates.xml и подтверждаем.
Теперь вам доступны сокращения:
- action
public function execute${Action} {
${body}
}
- controller
class ${ControllerName}Actions extends sfActions {public function execute${action}()
{
${body}
}
}
- doselect
$$c = new Criteria;
$$${objects} = ${propelObject}Peer::doSelect($$c);
Оригинал статьи здесь
Раздел Symfony

