Вы здесь

В каком файле при разработке модуля нужно описывать свои библиотечные функции или вспомогательный класс ?

0

Добрый день.

При разработке модуля под Drupal 8 возникла необходимость задать несколько библиотечных функций общего назначения. Эти функции потом планируется использовать как внутри данного модуля, так и в других модулях, так и в теме. Или, например, описать какой-то свой вспомогательный класс по работе с чем-то.

Скажите пожалуйста, в каком файле такие функции или класс в данном случае принято описывать ?

Я так понимаю, не в файле .module данного модуля.

Версия Drupal: 
8.x
Вопрос задан 30.04.2017 - 08:47

Ответы

0
<?php
// modules/modulename/src/Modulename.php

namespace Drupal\modulename;

class Modulename {
  public static function myFunction() {
    // ...
  }
}

Использование:

use Drupal\modulename\Modulename
Modulename::myFunction()
Ответ дан 30.04.2017 - 11:11
Аватар пользователя xandeadx
xandeadx
1515

Понятно, спасибо.

А вот если просто описать функцию "по-старинке", не определяя класс, и вызывать её также саму по себе, это допустимо ? Или это уже "дурной тон" ?

Комментарий оставлен 30.04.2017 - 12:03

И еще один вопрос.
Сделал через класс со статической функцией так, как у Вас в ответе.
Выводится ошибка, пишет "Class 'Drupal\palom_advert\PalomAdvert' not found"
palom_advert - это имя модуля
PalomAdvert - имя класса в файле src/PalomAdvert.php

Может, надо этот файл где-то явно подключать ? Или именовать класс и файл по-другому ?

Комментарий оставлен 30.04.2017 - 12:19

Последний вопрос снимаю, заработало после очистки кэша

Комментарий оставлен 30.04.2017 - 12:41