Как создать свой модуль для движка Rotor

Печать / RSS-лента
0
1. Вантуз-мен (04.12.18 / 12:14)
Господин ПЖ
Модули для Rotor
Ссылка на репозиторий с примерами модулей
https://github.com/visavi/rotor-modules

Чтобы создать свой модуль необходимо создать директорию название которой начинается с большой буквы, все символы должны быть латинскими

Название директории это часть namespace (Пространство имен)
Новая директория повторяет собой директорию app в Rotor с некоторыми изменениями

Теперь в ней могут содержаться следующие файлы и директории

Структура модуля

1. Файл module.php
Обязательный файл который описывает модуль, может содержать в себе настройки и любую другую информация

Состоит из массива
- name - Имя модуля
- description - Описание модуля
- version - версия модуля
- author - Автор модуля,
- email -email автора,
- homepage - сайт автора
- symlinks - массив ссылок на статические файлы, это могут быть картинки, css, js и другие файлы которые должны быть доступны напрямую, при установке движка все ссылки будут созданы по адресу /assets/modules

2. Controllers
Контроллеры с пространством имен namespace App\Modules\ИмяМодуля\Controllers;
Контроллеры должны быть наследованы от \App\Controllers\BaseController

3. Models
Модели с пространством имен namespace App\Modules\ИмяМодуля\Models;
Модели должны быть наследованы от \App\Models\BaseModel

4. resources
Директория для шаблонов (views) и переводов (lang)

5. database
Директория для миграций, которые выполняются при установке, обновлении и удалении модуля

6. screenshots
Директория которая может содержать в себе изображения модуля
Скриншоты будут показываться на странице установки модуля, количество и размер не ограничен

7. Файл routes.php
Содержит в себе роуты

Шаблоны
Вызовы шаблонов должны производится с указанием namespace
К примеру view('ИмяМодуля::директория/файл')
Поиск шаблона будет произведен из app/Modules/ИмяМодуля/resources/views/директрия/файл.blade.php

Переводы
Вызовы переводов должны также производится с указанием namespace
К примеру trans('ИмяМодуля::файл.ключ массива')
Поиск перевода будет произведен из app/Modules/ИмяМодуля/resources/lang/(ru|en|...)/файл.php

В модулях доступны все функции, классы и методы Rotor
Самый простой модуль может состоять из 3 файлов, module.php, routes.php и контроллера
Отредактировано: Vantuz (12.12.18 / 15:44)
Для добавления сообщения необходимо авторизоваться
Смайлы / Теги / Правила / Топ тем / Топ постов / Поиск