Страница 1 из 2

Skeleton Extension - расширение для создания расширений

Добавлено: 17.05.2016 18:45
rxu
Командой phpBB разработано расширение Skeleton Extension. Это инструмент, позволяющий авторам расширений упростить и ускорить начало создания нового проекта.
Результатом его работы является архив с типовым набором папок и файлов расширения в зависимости от выбора автора. В частности, в шаблон могут быть включены файлы: слушателей ядра и шаблона, модулей администраторского, модераторского и личного разделов, уведомлений, контроллера, определений сервисов, ext.php, крона, миграции базы данных, команды консоли, а также ряда служебных - тестов PHPUnit, компиляции релиза, запуска тестов в Travis-CI.

В настоящее время тестируется первая бета.

Репозиторий: https://github.com/phpbb-extensions/phpbb-ext-skeleton
Релизы: https://github.com/phpbb-extensions/php ... n/releases
skeleton_ext.jpg

Re: Skeleton Extension - расширение для создания расширений

Добавлено: 17.05.2016 18:47
Emperor1
Надеемся теперь будет больше расширений :)

Re: Skeleton Extension - расширение для создания расширений

Добавлено: 17.05.2016 19:45
Sumanai
Локализацию кто запилит?

Отправлено спустя 5 минут 42 секунды:

Код: Выделить всё

Fatal error: Uncaught Error: Class 'ZipArchive' not found in
И так далее при попытке создать расширение. Забыли про проверку того, что не везде это расширение PHP стоит.

Re: Skeleton Extension - расширение для создания расширений

Добавлено: 17.05.2016 21:05
rxu

Re: Skeleton Extension - расширение для создания расширений

Добавлено: 17.05.2016 21:08
LavIgor
rxu, а почему бы не использовать стандартные функции phpBB?
Заодно поправить известные недоработки в самом ядре.

Re: Skeleton Extension - расширение для создания расширений

Добавлено: 17.05.2016 21:38
rxu
LavIgor, вроде бы, в ядре нет механизма создания архивов с набором файлов.

Отправлено спустя 38 минут 7 секунд:
Хотя, есть functions_compress.php, можно попробовать.

Re: Skeleton Extension - расширение для создания расширений

Добавлено: 17.05.2016 22:22
LavIgor
rxu, он используется в моём загрузчике, в отдельной функции. ;)
Поначалу был как раз ZipArchive, но у пользователей были те самые проблемы, и я перешёл на другое расширение PHP, используемое в движке.

Re: Skeleton Extension - расширение для создания расширений

Добавлено: 24.09.2016 19:57
t4p2
Если кто-то разобрался с этим расширением, очень прошу консультацию по нему.

Re: Skeleton Extension - расширение для создания расширений

Добавлено: 24.09.2016 20:10
LONER
t4p2 писал(а): Если кто-то разобрался с этим расширением, очень прошу консультацию по нему.
Если осилите это Расширения - это просто! , то возможно сможете пользоваться этим расширением, а так, по большому счету, оно Вам ни к чему.

Re: Skeleton Extension - расширение для создания расширений

Добавлено: 26.09.2016 2:03
t4p2
А это расширение в какую папку закидывать?

Re: Skeleton Extension - расширение для создания расширений

Добавлено: 26.09.2016 2:13
Sheer

Re: Skeleton Extension - расширение для создания расширений

Добавлено: 26.09.2016 4:10
t4p2
Расширение установила правильно. Но при создании, пишет:
Fatal error: Class 'Symfony\Component\Finder\Finder' not found
Якобы класс ненайден.
Как исправить? Есть у кого рабочий?

Код: Выделить всё

$finder = new Finder();
Отправлено спустя 19 минут 46 секунд:
Вобщем так разобралась, без модуля ZipArchive. Просто скилет создается в папке \store\tmp-ext.
А есть отдельная тема, посвященная создании расширений? Мне аж очень интересно стало.

Re: Skeleton Extension - расширение для создания расширений

Добавлено: 26.09.2016 11:47
LavIgor
t4p2 писал(а): А есть отдельная тема, посвященная создании расширений?
Есть: Расширения - это просто!.

Re: Skeleton Extension - расширение для создания расширений

Добавлено: 26.09.2016 13:05
Sheer

Re: Skeleton Extension - расширение для создания расширений

Добавлено: 26.09.2017 11:25
Pazh
косяк расширения:
поле Package name - имя пакета. Описание из документации:
Package name - это имя расширения. По соглашению об именах, имя пакета должно начинаться с буквы и содержать только буквы и цифры. В случае расширения Acme Demo это будет demo. Это поле обязательно к заполнению.
Ни слова про регистр букв в названии пакета.
Все хорошо, пока в расширении не появляются уведомления - расширения прекрасно работают без учета регистра символов в Package Name, а вот уведомления работают ТОЛЬКО с символами в нижнем регистре - иначе тупо уведомление из расширения не будет прописано в таблицу phpbb_notification_types БЕЗ каких либо уведомлений об ошибке при включении расширения, а вот на странице настроек уведомлений в Личном разделе получим ошибку "Тип уведомления отсутствует в файловой системе" .

Исправление: если в скелетоне стоит галочка "Notifications", то в service.yml в описании сервиса уведомлений прописывать имя пакета строчными буквами и в файле notifications/type/demo.php в функции get_type имя пакета тоже в нижнем регистре

Отправлено спустя 6 минут 1 секунду:
Еще маленький недочет: если выбрано Migrations, то вне зависимости установлены или нет галочки в пунктах Administration control panel (ACP), Moderator control panel (MCP), User control panel (UCP) - создаются файлы миграций для всех вышеуказанных типов (приходится их удалять)