Top Banner
Создание custom модуля [email protected]
21

Yulia tsuba

Jul 11, 2015

Download

Technology

jurenites
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Yulia tsuba

Создание custom модуля

[email protected]

Page 2: Yulia tsuba

1. Структура модуля

2. Способы создания

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

4. Настройка редактора и систем управления версиями файлов для автоматическогоконтроля стандартов.

5. Подготовка к публикации модуля на drupal.org

2/22

Page 3: Yulia tsuba

ИДЕЯ ПОИСК

СОЗДАНИЕ МОДУЛЯ

АВТО

РУЧНОЕ

SANDBOX

3/22

Проверка кода

Page 4: Yulia tsuba

1. Структура модуля 4/22

Page 5: Yulia tsuba

1. Структура модуля 4/22

new_module.infoname = New moduledescription = Module custom functionalitycore = 7.xpackage = Viewsdependencies[] = viewsdependencies[] = panelsfiles[] = example.testconfigure = admin/config/content/example

Page 6: Yulia tsuba

5/221. Структура модуля

Page 7: Yulia tsuba

6/222. Способы создания

Page 8: Yulia tsuba

7/222. Способы создания

Page 9: Yulia tsuba

$ 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 +

Page 10: Yulia tsuba

http://drupal.org/coding-standards

9/223. Стандарты кодирования

Page 11: Yulia tsuba

3. Стандарты кодирования 10/22

Настрой свою IDE!

http://drupal.org/node/1019816

http://drupal.org/node/723470

Page 12: Yulia tsuba

10/224. CODER

Page 13: Yulia tsuba

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

Page 14: Yulia tsuba

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

Page 15: Yulia tsuba

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

Page 16: Yulia tsuba

Копируем файл шаблона хука: 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

Page 17: Yulia tsuba

Результаты:

И уже знакомый вывод ошибок:

15/224. SVN PRE-COMMIT REVIEW

Page 18: Yulia tsuba

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

Page 19: Yulia tsuba

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

Page 20: Yulia tsuba

Review bonus

- Issues for Drupal.org Project applications ( выбрать >= 3)

- Reviews of other projects: и дать прямую ссылку на комментариb- Issue tags: PAReview: review bonus

18/225. Публикация модуля на drupal.org

Page 21: Yulia tsuba

[email protected]

yulia.tsyba

Вопросы19/22