Добро пожаловать, Гость!
Требования к системе модулей/плагинов - Страница 2
Общие вопросы | Требования к системе модулей/плагинов
biket
:
Требования:
1. Написание плагинов как на ООП, так и в процедурном стиле на выбор разработчика (пример - как в Wordpress)
2. Каталог модулей прямо в админке. Установка модулей в один клик (опять, же, пример - Wordpress)
3. Поддержка мультиязычности
4. Поддержка требований (указание минимальной версии движка, запрос других плагинов)
5. Бесплатные и платные модули. Поддержка покупки. Поддержка оставления ссылки в бесплатной версии. То есть при установке бесплатной версии разработчик плагина может автоматически ставить ссылку в условном разделе сайта "партнеры". Мотивация разрабам делать бесплатне плагины.
6. Поддержка хуков/событий (паттерн observer)
7. Наследование от главного файла модулей. Автоматические методы установки/обновления
8. Поддержка настроек /конфигурации
9. Автоматическое создание страницы в админке со всеми настройками плагина
Пример конфигурации плагина
return [
'code' = "testplugin",
'name' = [
'default'=>"Тестовый плагин",
'en'=>"Test Plugin",
],
'version'=1.0,
'request' = [
"engine"=1.2,
"plugins"=[
["Pluginother",0.8],
["Pluginother2",1.0],
],
'copyright' = [
"type"=>1, // Установка ссылки. 0-нет, 1-по желанию, 2-обязательно
"link"="https://linkautor.ru",
"name"="Link Autor",
],
'settings' = [
"count"=>50,
'type' = ['typeA','typeB'],
],
];
Требования к системе модулей/плагинов
6 Янв 2023Требования:
1. Написание плагинов как на ООП, так и в процедурном стиле на выбор разработчика (пример - как в Wordpress)
2. Каталог модулей прямо в админке. Установка модулей в один клик (опять, же, пример - Wordpress)
3. Поддержка мультиязычности
4. Поддержка требований (указание минимальной версии движка, запрос других плагинов)
5. Бесплатные и платные модули. Поддержка покупки. Поддержка оставления ссылки в бесплатной версии. То есть при установке бесплатной версии разработчик плагина может автоматически ставить ссылку в условном разделе сайта "партнеры". Мотивация разрабам делать бесплатне плагины.
6. Поддержка хуков/событий (паттерн observer)
7. Наследование от главного файла модулей. Автоматические методы установки/обновления
8. Поддержка настроек /конфигурации
9. Автоматическое создание страницы в админке со всеми настройками плагина
Пример конфигурации плагина
return [
'code' = "testplugin",
'name' = [
'default'=>"Тестовый плагин",
'en'=>"Test Plugin",
],
'version'=1.0,
'request' = [
"engine"=1.2,
"plugins"=[
["Pluginother",0.8],
["Pluginother2",1.0],
],
'copyright' = [
"type"=>1, // Установка ссылки. 0-нет, 1-по желанию, 2-обязательно
"link"="https://linkautor.ru",
"name"="Link Autor",
],
'settings' = [
"count"=>50,
'type' = ['typeA','typeB'],
],
];
Последний раз редактировалось biket
6 Янв 2023
Комментарии:
biket
10 Янв 2023
Автор темы
______________________
Установи себе подпись: Ссылка
Автор темы
Сибирский (10 Янв 2023):
biket, по пункту 6 посоветовать могу только после как увижу структуру ядра. Если линейный вывод то возможно ни чего не подскажу. WP скорей всего оставил сисетму хуков из-за соображений совместимости. Идеальный вариант структуры, который я вижу, это так: запуск двига просто определяет авторизацию пользователя и является ли тот админом, все остальное подключается как модули но только при необходимости. Вывод страницы осуществляется только по окончании работы скрипта, до этого вся страница содержится в определенном классе. Такой подход позволит менять все что угодно в любое время. Модуль это отдельная папка в определенном месте или местах, тут как угодно. Для составления модуля задать некоторые правила. Дать возможность публиковать модуль прям со своего сайта.
вопрос по json что ini это нужно еще будет возиться с их защитой от открытия в браузер положить их в папку /.config, да и нет там такой важной инфы, которую нельзя разглашать
Сибирский, Так и надо делать. Тока систему хуков так же можно использовать. Она есть во многих движках. В различных вариациях.biket, по пункту 6 посоветовать могу только после как увижу структуру ядра. Если линейный вывод то возможно ни чего не подскажу. WP скорей всего оставил сисетму хуков из-за соображений совместимости. Идеальный вариант структуры, который я вижу, это так: запуск двига просто определяет авторизацию пользователя и является ли тот админом, все остальное подключается как модули но только при необходимости. Вывод страницы осуществляется только по окончании работы скрипта, до этого вся страница содержится в определенном классе. Такой подход позволит менять все что угодно в любое время. Модуль это отдельная папка в определенном месте или местах, тут как угодно. Для составления модуля задать некоторые правила. Дать возможность публиковать модуль прям со своего сайта.
вопрос по json что ini это нужно еще будет возиться с их защитой от открытия в браузер положить их в папку /.config, да и нет там такой важной инфы, которую нельзя разглашать
______________________
Установи себе подпись: Ссылка
Сибирский 10 Янв 2023
biket, по пункту 6 посоветовать могу только после как увижу структуру ядра. Если линейный вывод то возможно ни чего не подскажу. WP скорей всего оставил сисетму хуков из-за соображений совместимости. Идеальный вариант структуры, который я вижу, это так: запуск двига просто определяет авторизацию пользователя и является ли тот админом, все остальное подключается как модули но только при необходимости. Вывод страницы осуществляется только по окончании работы скрипта, до этого вся страница содержится в определенном классе. Такой подход позволит менять все что угодно в любое время. Модуль это отдельная папка в определенном месте или местах, тут как угодно. Для составления модуля задать некоторые правила. Дать возможность публиковать модуль прям со своего сайта.
вопрос по json что ini это нужно еще будет возиться с их защитой от открытия в браузер положить их в папку /.config, да и нет там такой важной инфы, которую нельзя разглашать
biket, по пункту 6 посоветовать могу только после как увижу структуру ядра. Если линейный вывод то возможно ни чего не подскажу. WP скорей всего оставил сисетму хуков из-за соображений совместимости. Идеальный вариант структуры, который я вижу, это так: запуск двига просто определяет авторизацию пользователя и является ли тот админом, все остальное подключается как модули но только при необходимости. Вывод страницы осуществляется только по окончании работы скрипта, до этого вся страница содержится в определенном классе. Такой подход позволит менять все что угодно в любое время. Модуль это отдельная папка в определенном месте или местах, тут как угодно. Для составления модуля задать некоторые правила. Дать возможность публиковать модуль прям со своего сайта.
вопрос по json что ini это нужно еще будет возиться с их защитой от открытия в браузер положить их в папку /.config, да и нет там такой важной инфы, которую нельзя разглашать
biket
10 Янв 2023
Автор темы
пункт 12. разработчиком нужна свобода. кто хочет будет использовать пространство имен, кто нет, тот нет. хотелось бы организовать так: разработчик пишет функционал любым способом, а потом передает его в движок.
пункт 6. Какие предложения?
______________________
Установи себе подпись: Ссылка
Автор темы
Сибирский (9 Янв 2023):
biket,
пункт 9 пример конфига на json не очень удачно считаю, было бы удобней ini файл, а вот скрипт пусть затем преобразует в json
пункт 12, требование к пространству имен нужно, никто не знает какие имена классов будут у установленного набора модулей на конкретном сайте. в общем пространстве имен могут быть конфликты
для пункта 10 нужен автоподхват, но каким образом
пункт 6 неудачный выбор считаю, сделать автоподхват до какого либо вывода в определенной папке плагина дает более гибкий подход, но тут не совсем ясно как конкретно будет реализовано, может я чет не догоняю просто.
Сибирский, пункт 9. Скорее лучше просто php файлы с массивом. А что с json что ini это нужно еще будет возиться с их защитой от открытия в браузере. И преимуществ не вижу.biket,
пункт 9 пример конфига на json не очень удачно считаю, было бы удобней ini файл, а вот скрипт пусть затем преобразует в json
пункт 12, требование к пространству имен нужно, никто не знает какие имена классов будут у установленного набора модулей на конкретном сайте. в общем пространстве имен могут быть конфликты
для пункта 10 нужен автоподхват, но каким образом
пункт 6 неудачный выбор считаю, сделать автоподхват до какого либо вывода в определенной папке плагина дает более гибкий подход, но тут не совсем ясно как конкретно будет реализовано, может я чет не догоняю просто.
пункт 12. разработчиком нужна свобода. кто хочет будет использовать пространство имен, кто нет, тот нет. хотелось бы организовать так: разработчик пишет функционал любым способом, а потом передает его в движок.
пункт 6. Какие предложения?
______________________
Установи себе подпись: Ссылка
Сибирский 9 Янв 2023
biket,
пункт 9 пример конфига на json не очень удачно считаю, было бы удобней ini файл, а вот скрипт пусть затем преобразует в json
пункт 12, требование к пространству имен нужно, никто не знает какие имена классов будут у установленного набора модулей на конкретном сайте. в общем пространстве имен могут быть конфликты
для пункта 10 нужен автоподхват, но каким образом
пункт 6 неудачный выбор считаю, сделать автоподхват до какого либо вывода в определенной папке плагина дает более гибкий подход, но тут не совсем ясно как конкретно будет реализовано, может я чет не догоняю просто.
biket,
пункт 9 пример конфига на json не очень удачно считаю, было бы удобней ini файл, а вот скрипт пусть затем преобразует в json
пункт 12, требование к пространству имен нужно, никто не знает какие имена классов будут у установленного набора модулей на конкретном сайте. в общем пространстве имен могут быть конфликты
для пункта 10 нужен автоподхват, но каким образом
пункт 6 неудачный выбор считаю, сделать автоподхват до какого либо вывода в определенной папке плагина дает более гибкий подход, но тут не совсем ясно как конкретно будет реализовано, может я чет не догоняю просто.
biket
7 Янв 2023
Автор темы
Система то что на скрине выпущена или в разработке?
______________________
Установи себе подпись: Ссылка
Автор темы
Saint (7 Янв 2023):
Я так же добавил пользовательские кнопки , переустановки и т.п т.е по желанию , разработчик модуля может внедрять такие кнопки . ну и автообновление или ручное . что крайне спорно . Пока оно есть .
Добавлено:
Ну в целом я так понимаю тут и так это всё описано
Saint,Я так же добавил пользовательские кнопки , переустановки и т.п т.е по желанию , разработчик модуля может внедрять такие кнопки . ну и автообновление или ручное . что крайне спорно . Пока оно есть .
Добавлено:
Ну в целом я так понимаю тут и так это всё описано
Система то что на скрине выпущена или в разработке?
______________________
Установи себе подпись: Ссылка
biket
7 Янв 2023
Автор темы
______________________
Установи себе подпись: Ссылка
Автор темы
Saint (7 Янв 2023):
Я так же добавил пользовательские кнопки , переустановки и т.п т.е по желанию , разработчик модуля может внедрять такие кнопки . ну и автообновление или ручное . что крайне спорно . Пока оно есть .
Добавлено:
Ну в целом я так понимаю тут и так это всё описано
Saint, Кнопки активации/деактивации да, конечно. А вот кнопки переустановки/удаления, где таблицы с содержимым будут удаляться и создаваться заново - я бы не стал делать :/Я так же добавил пользовательские кнопки , переустановки и т.п т.е по желанию , разработчик модуля может внедрять такие кнопки . ну и автообновление или ручное . что крайне спорно . Пока оно есть .
Добавлено:
Ну в целом я так понимаю тут и так это всё описано
______________________
Установи себе подпись: Ссылка
Saint
7 Янв 2023
Я так же добавил пользовательские кнопки , переустановки и т.п т.е по желанию , разработчик модуля может внедрять такие кнопки . ну и автообновление или ручное . что крайне спорно . Пока оно есть .
Добавлено:
Ну в целом я так понимаю тут и так это всё описано
______________________
Я есть сущность
ddddddd (302.44Kb)
Я так же добавил пользовательские кнопки , переустановки и т.п т.е по желанию , разработчик модуля может внедрять такие кнопки . ну и автообновление или ручное . что крайне спорно . Пока оно есть .
Добавлено:
Ну в целом я так понимаю тут и так это всё описано
______________________
Я есть сущность