1. Структура модуля
2. Способы создания
3. Стандарты кодирования
4. Настройка редактора и систем управления версиями файлов для автоматическогоконтроля стандартов.
5. Подготовка к публикации модуля на drupal.org
2/22
ИДЕЯ ПОИСК
СОЗДАНИЕ МОДУЛЯ
АВТО
РУЧНОЕ
SANDBOX
3/22
Проверка кода
1. Структура модуля 4/22
1. Структура модуля 4/22
new_module.infoname = New moduledescription = Module custom functionalitycore = 7.xpackage = Viewsdependencies[] = viewsdependencies[] = panelsfiles[] = example.testconfigure = admin/config/content/example
5/221. Структура модуля
6/222. Способы создания
7/222. Способы создания
$ drush mbdl
$ drush mb-list
$ drush mb my_module menu --name="My module" --dep=“views“ --write
$ drush mb my_module --name="My module" --noi --write --yes
8/222. Способы создания
DRUSHModule Builder +
http://drupal.org/coding-standards
9/223. Стандарты кодирования
3. Стандарты кодирования 10/22
Настрой свою IDE!
http://drupal.org/node/1019816
http://drupal.org/node/723470
10/224. CODER
PHP_CodeSniffer + Drupal Coding Standards
$ phpcs /path/to/code/my_dir
$ phpcs --standard=Drupal --report=xml --report-file=rep.xml --extensions=php,module,inc,install /path/to/test
$ alias drupalcs='phpcs --standard=/path/to/drupalcs/Drupal/ruleset.xml --extensions=php,module,inc,install,test,profile,theme'
$ drupalcs /path/to/test > log.log
11/224. DRUPAL CODE SNIFFER
FILE: ...unk/sites/all/modules/contrib/coder/coder_review/coder_review.drush.inc--------------------------------------------------------------------------------FOUND 14 ERROR(S) AFFECTING 14 LINE(S)-------------------------------------------------------------------------------- 22 | ERROR | String concat is not required here; use a single string instead 25 | ERROR | String concat is not required here; use a single string instead 26 | ERROR | String concat is not required here; use a single string instead 53 | ERROR | Missing function doc comment 85 | ERROR | BREAK statements must be followed by a single blank line 93 | ERROR | BREAK statements must be followed by a single blank line 98 | ERROR | BREAK statements must be followed by a single blank line 108 | ERROR | If the line declaring an array spans longer than 80 characters, | | each element should be broken into its own line 247 | ERROR | Concat operator must be surrounded by spaces ....................--------------------------------------------------------------------------------
12/224. DRUPAL CODE SNIFFER
git clone --branch 7.x-1.x http://git.drupal.org/project/pareviewsh.gitsudo ln -s ${HOME}/${DDD}/pareviewsh/pareview.sh /usr/local/bin
Usage: cd /path/to/drupal pareview.sh GIT-URL [BRANCH] pareview.sh DIR-PATH
Online review:http://ventral.org/pareview
Install:
13/224. PAREVIEW.SH
Копируем файл шаблона хука: cd $REPO/hooks/ mv pre-commit.tmpl pre-commitРедактируем: #!/bin/sh REPOS="$1" TXN="$2" /usr/bin/scripts/phpcs-svn-pre-commit "$REPOS" -t "$TXN" --standard=Drupal >&2 || exit 1 exit 0Даем права на выполнение: chmod +x pre-commit
14/224. SVN PRE-COMMIT REVIEW
Результаты:
И уже знакомый вывод ошибок:
15/224. SVN PRE-COMMIT REVIEW
phpcs-pre-commitgit clone https://github.com/s0enke/git-hooks.git
Копируем файл шаблона хука: .git/hooks/pre-commit
Редактируем:PHPCS_BIN = /usr/bin/phpcsPHPCS_CODING_STANDARD = Drupal
16/224. GIT PRE-COMMIT REVIEW
1. http://drupal.org/user таб Edit->Git access (Desired Git username)2. http://drupal.org/node/add/project-project можно создать проект - Project categories (модуль, тема, ... ; Категория - Content, Mobile, ...) - Vocabularies (Maintenance status, Development status) - Project information (title, description) - Project resources - Revision information 3. release-ready4. Project application checklist5. Открыть новый вопрос в http://drupal.org/project/issues/projectapplications(needs review needs work needs review RTBC fixed)
17/225. Публикация модуля на drupal.org
Review bonus
- Issues for Drupal.org Project applications ( выбрать >= 3)
- Reviews of other projects: и дать прямую ссылку на комментариb- Issue tags: PAReview: review bonus
18/225. Публикация модуля на drupal.org