-
Notifications
You must be signed in to change notification settings - Fork 2
Создание расширений
Для начала работы вам нужно установить jppm.
После установки jppm вам нужно установить SDK для разработки расширений. Для этого нужно клонировать репозиторий и в папке где лежат файлы этого репозитория выполнить команду jppm publish --yes
Для создания расширения нужно создать папку и выполнить в ней команду jppm init
. Заполняем имя и версию пакета, а когда спросят добавлять AppPlugin пишем y
.
Теперь нужно удалить src/index.php
и выполнить ещё 2 команды.
- Удалить jphp-zend-ext:
jppm remove jphp-zend-ext
- Добавить Nearde SDK:
jppm add Nearde-SDK
После всех продельных операций у нас почти готово первое расширения для Nearde IDE. Осталось написать логику для него.
Ну а теперь то что делает расширение расширением. Это конечно его код!
Для начало нужно перейти в паку src
в нашем jppm пакете и создать иерархию директорий.
-> .nearde
-> .data
-> img
-> icons
-> ide
Давайте подробнее рассмотрим наши директории. В папке src
есть 3 папки это
-
.nearde
- здесь будут ссылки на php классы. Эти ссылки будут хранится в фалах -
.data
- директория для ресурсов расширения-
img
- здесь хранятся картинки-
icons
- а тут уже иконки
-
-
-
ide
- тут уже хранятся php классы сnamespace ide
С директориями разобрались а теперь давайте напишем расширение которое при запуске IDE будет говорить нам Hello World!
Для этого нам нужно создать класс нашего расширения который будет наследоваться от AbstractExtension
. Для имени класса тоже есть свои правила. Обычно пишется так CamelCaseNameExtension
где CamelCaseName
можно заменить на своё в стиле CamelCase
.
Думаю это понятно.
Так как класс AbstractExtension
абстрактный. Нам нужно унаследовать от него 7 методов.
К примеру мы создали класс TestExtension
:
<?php
namespace ide;
class TestExtension extends AbstractExtension
{
public function onRegister()
{
// тут мы регистрируем всё что расширяет IDE: настройки, темы, редакторы, форматы и.д
}
public function onIdeStart()
{
// при старте IDE
alert("Hello World!");
}
public function onIdeShutdown()
{
// при выключении IDE
}
public function getName(): string
{
return "Test"; // возвращаем имя нашего расширения
}
public function getAuthor(): string
{
return "MWGuy"; // автор
}
public function getVersion(): string
{
return "1.0.0"; // версия
}
public function getIcon32(): string
{
return "icons/test32.png"; // иконка 32x32 относительно директории res://.data/img/
}
}
Теперь нам нужно сказать Nearde что это класс с расширением. Для этого в папке .nearde
создаём файл extensions
содержимое которого это ссылка на php класс. К примеру ide\TestExtension
.
По сути расширение которое скажет нам привет мир уже готово. Осталось лишь его собрать.
Для того чтобы собрать и установить расширение нужно просто выполнить команду jppm build
и собранный jar
архив поместить в папку %USER-HOME%/NeardeLibrary/plugins/
Дальше IDE всё сделает сама.
Просто запускаем IDE и наблюдаем:
А в настройках у нас: