These are chat archives for dru-io/Drupal

27th
Aug 2017
bumble
@awd-studio
Aug 27 2017 16:00

ребят, подскажите пару моментов по разработке под 8ку:

\1. Как принято "правильно" работать со сторонними PHP библиотеками в 8ке?

  • Логика кричит что единственный, правильный вариант - запись библиотеки в зависимость composer.json'а, но помня что Друпал не только для CLI'керов - возникает сомнения в правильной работе под присмотром НЕпользователей композера.
  • Libraries API - вроде решает, но при этом вызывает чувство вины перед господом честным PHP-сообществом, и возвращает к пережиткам прошлого. Негоже нынче "Download, Unzip, Copy-Paste, Rename..." (ИМХО).

\2. Как "правильно" хранить данные (пароль) от сторонних сервисов? Понятное дело что в зашифрованном виде, но в конфиге или в БД?

  • Конфиги, конечно, подкупают простотой использования, но разглядывается опасность утечки инфы, например при передаче разработчикам.
  • БД - нужно реализовывать собственный велик (аля Variables в 7ке), да и оттуда может утечка произойти при особом желании, но выглядит по-безопаснее (опять же, ИМХО).
    (Или я может чрезмерно опараноился...)
Alexander Dubovskoy
@adubovskoy
Aug 27 2017 16:34

@awd-studio

  1. Идеальный вариант (для неленивых) это совместить оба пункта, как делает вебформ. У него есть drush-команда для загрузки зависимостей и для генерации composer-файла
$items['webform-libraries-composer'] = [
    'description' => "Generates the Webform module's composer.json with libraries as repositories.",
    'core' => ['8+'],
    'bootstrap' => DRUSH_BOOTSTRAP_DRUPAL_ROOT,
    'examples' => [
      'webform-libraries-composer' => "Generates the Webform module's composer.json with libraries as repositories.",
    ],
    'aliases' => ['wflc'],
  ];

  $items['webform-libraries-download'] = [
    'description' => 'Download third party libraries required by the Webform module.',
    'core' => ['8+'],
    'bootstrap' => DRUSH_BOOTSTRAP_DRUPAL_ROOT,
    'examples' => [
      'webform-libraries-download' => 'Download third party libraries required by the Webform module.',
    ],
    'aliases' => ['wfld'],
  ];

по второму пункту не подскажу, от задачи

bumble
@awd-studio
Aug 27 2017 16:41
@adubovskoy спс. посмотрю вебформы.
KarmaBot
@KarmaBot
Aug 27 2017 16:41
Спасибо (+1) для @adubovskoy принято! Текущая карма +29.