Upload
yuliatsyba
View
281
Download
0
Tags:
Embed Size (px)
Citation preview
Создание custom модуля
goo.gl/iczYR
1. Структура модуля2. Способы создания3. Стандарты кодирования 4. Настройка редактора, систем управления версиями файлов для автоматическогоконтроля стандартов.5. Подготовка к публикации модуля на drupal.org
2/21
ИДЕЯ ПОИСК
СОЗДАНИЕ МОДУЛЯ
АВТО
ПРОВЕРКА КОДАРУЧНОЕ
SANDBOX
3/21
1. Структура модуля 4/21
.module .info.install
css
jsPHP
1. modulename.info
5/21
1. modulename.install
6/21
2. Создание модуля 7/21
8/212.
$ 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
9/212. Способы создания
DRUSHModule Builder +
http://drupal.org/coding-standards
10/213. Стандарты кодирования
3. Стандарты кодирования 11/21
Настрой свою IDE!
http://drupal.org/node/1019816
http://drupal.org/node/723470
4. Coder 12/21
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
4. DRUPAL CODE SNIFFER 13/21
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.......................................................................................................................................................--------------------------------------------------------------------------------
14/214. DRUPAL CODE SNIFFER
Install: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
15/214. 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
16/214. SVN PRE-COMMIT REVIEW
Результаты:
И уже знакомый вывод ошибок:
17/214. 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
18/214. 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
19/215. Публикация модуля на drupal.org
Review bonus
- Issues for Drupal.org Project applications ( выбрать >= 3)- Reviews of other projects: и дать прямую ссылку на комментарии- Issue tags: PAReview: review bonus
20/215. Публикация модуля на drupal.org