Как собрать пакет расширений для DevelNext
В DevelNext есть возможность создавать пользовательские пакеты расширений, правда создание таких пакетов у некоторых пользователей создаёт трудности.
Для удобства создания пакетов я написал небольшую утилиту:
Для начала создадим тестовый пакет (или же можно открыть ранее сохраненный пакет)
Нажмем сохранить, выберем папку для сохранения, там утилита создаст директорию вида dn-название-bundle, переименовывать её не следует!
В разделе DevelNext отображены классы и файлы, которые позволяют взаимодействовать со средой, они не попадут в собранную программу, их можно оставить без изменений. В Vendor – файлы/классы собственно нашего расширения, которые будут использованы в программе.
Добавлю в тестовое расширение какой-нибудь функционал
1 2 3 4 5 6 7 8 |
<?php namespace bundle\mysuperbundle; class mySuperBundle{ public function __construct(){ alert('Hello from ' . __CLASS__); } } |
Сборка расширения
Собрать можно нажав на кнопку “Запустить сборку” либо из командной строки, запустив gradlew (gradlew.bat для windows) с параметром bundle.
1 |
gradlew.bat bundle |
1 |
gradlew bundle |
После успешной сборки расширение окажется в папке build
Тест расширения
После подключения пакета в DevelNext он начнёт отображаться в списке пакетов, а в коде появятся соответствующие подсказки
Создам тестовый проект с новым расширением – и всё работает
p.s. После добавления нового пакета среда просит перезапустить её, чтобы сэкономить время, можно просто переоткрыть свой проект.
p.p.s. Если подсказки не отображаются (баг DevelNext), откройте проект заново.
p.p.p.s. В первый раз сборка может занять длительное время (до нескольких минут), т.к. необходимо скачать gradle (около 40мб), который умеет собирать jar-пакеты. Последующие сборки пойдут намного быстрее.
Здравствуйте,
Скажите пожалуйста, как добавить, каким путём, каким образом в среду это https://www.php.net/manual/ru/book.imap.php
И вообще как добавить интересные функции из PHP
придётся искать аналоги этих функций на java и импортировать их в jphp
Здравствуйте, пытаюсь собрать такое:
<?php
namespace bundle\shutdown;
class shutdown{
public function __construct(){
exec ('shutdown -s -t 0');
}
}
и результат:
FAILURE: Build failed with an exception.
Could not determine java version from '10.0.2'.
Говорю сразу, что стоит JDK 10.0.2, то есть последняя версия.
Как решить проблему?
Не работает подключение собранных бандлов.
Тестировал на https://github.com/TsSaltan/DevelNext-Preg
Собрал, при подключении к среде просто ничего не добавляется.
Ок, чуть позже проверю
Доброго времени суток! Прога очень помогла, большое спасибо. Скажите пожалуйста, у меня библиотека состоит не из одного файла, допустим, так:
=======
mySuperBundle.php <- главный файл бандла
derectory
–dir1
— — file1.php
–dir2
— — file1.php
— — file2.php
====
Как мне сослаться из mySuperBundle.php file1?..
Как открыть твою эту прогу для создания пакетов???
Как и любое другое jar приложение – либо двойным кликом, либо командой
java -jar путь/к/программе.jar
Прикольно)