WeMall 7.0
WeMall — это открытая система, разработанная на основе ThinkPHP5 и поддерживающая Composer. Она оптимизирует ядро, уменьшает зависимости и основана на совершенно новой архитектуре и концепции пространства имён.
Особенности ThinkPHP 5.0
- Основан на пространстве имён и множестве новых функций PHP.
- Основные функциональные компоненты.
- Укрепление функции маршрутизации.
- Более гибкие контроллеры.
- Реструктурированные модели и классы баз данных.
- Разделимые конфигурационные файлы.
- Переписанные автоматические проверки и завершение.
- Упрощённое расширение.
- Поддержка API.
- Улучшенный класс Log.
- Поддержка командной строки.
- REST-поддержка.
- Руководство по файлам.
- Удобное автоматическое определение.
- Истинная ленивая загрузка.
- Поддержка распределённой среды.
- Больше социальных библиотек.
Для работы с ThinkPHP 5 требуется PHP 5.4 или выше.
Характеристики WeMall 7.0
- На основе TP5, производительность превосходна.
- Фронт и бэкенд разделены, просты в использовании.
- Расширение плагинов, богатые функции.
- Механизм крючков, высокая степень расширения.
- Автоматическое обновление, простота обслуживания.
- Использование Pjax, улучшенный опыт.
- Архитектура REST, низкая степень сцепления.
Функция |
Описание |
Главная страница |
Системная главная страница |
Настройки |
Настройки сайта, настройки SMS, настройки электронной почты |
WeChat |
Конфигурация WeChat, меню WeChat, настраиваемые ответы, шаблоны сообщений, настройка нескольких служб поддержки клиентов, WeChat-принтер |
Содержание |
Классификация статей, список статей |
Шаблоны |
Настройка шаблонов, шаблоны электронных писем, шаблоны SMS |
Пользователи |
Администратор, пользователь группы, список администраторов, список пользователей, список участников |
Плагины |
Управление плагинами, магазин плагинов |
Помощь |
Помощь в использовании |
Механизм крючков плагинов
Установка
composer require qingyuexi/think-addons
Конфигурация
'addons'=>[
// Можно определить несколько крючков
'testhook'=>'putong\demo\demo' // Ключ — имя крючка, используется для определения имени крючка в бизнес-логике. Значение — плагин, реализующий крючок. Можно использовать массив или разделитель запятых.
]
Или создайте файл addons.php в каталоге application\extra со следующим содержимым:
'putong\demo\demo' // Ключ — имя крючка, используется для определения имени крючка в бизнес-логике. Значение — плагин, реализующий крючок. Можно использовать массив или разделитель запятых.
]
```
#### Создание плагина
После завершения установки при доступе к системе в корне проекта будет создан каталог с именем addons, в котором будут создаваться необходимые плагины.
Пример создания категории плагинов putong:
* Создайте каталог putong в каталоге addons.
* Создайте файл конфигурации плагина config.php в каталоге putong. Файл конфигурации плагина может быть опущен.
```
'putong',
'title' => 'putong',
'description' => 'Плагин класса putong',
'status' => 1,
'author' => 'Qingyue Xi'
];
```
* В каталоге putong создайте каталог demo.
* Создайте класс Demo.php в каталоге demo. Обратите внимание, что имена классов должны начинаться с заглавной буквы.
```
'test', // Идентификатор плагина
'title' => 'Тестовый плагин', // Название плагина
'description' => 'Thinkph5 тестовый плагин', // Краткое описание плагина
'status' => 0, // Статус
'author' => 'byron sampson',
'version' => '0.1'
];
/**
* Метод установки плагина
* @return bool
*/
public function install()
{
return true;
}
/**
* Деинсталляционный метод плагина
* @return bool
*/
public function uninstall()
{
return true;
}
/**
* Реализация метода testhook
* @return mixed
*/
public function testhook($param)
{
// Вызов параметров информации о крючке
print_r($param);
// Текущая конфигурация плагина, конфигурация находится в файле config.php текущего каталога, см. ниже
print_r($this->getConfig());
// Может возвращать шаблон, шаблон по умолчанию считывает файл из каталога плагина. Имя шаблона не может быть пустым!
return $this->fetch('info');
}
}
```
* Создайте файл config.php в каталоге test. Файл конфигурации плагина можно опустить.
```
'demo',
'title' => 'demo',
'description' => 'плагин demo',
'status' => 1,
'url' => true,
'author' => 'qingyue xi',
'version' => '0.1'
];
```
* Создайте шаблонный файл info.html в каталоге demo. Это шаблонный файл, соответствующий методу fetch плагина.
```
hello tpl
Если в плагине необходимо иметь ссылки или отправлять данные, связанные с бизнесом, вы можете создать файл контроллера в плагине. Чтобы получить доступ к контроллеру плагина, используйте addon_url для генерации URL-адреса.
Например:
link demo
Формат:
demo — имя плагина, admin — класс контроллера, index — метод контроллера
```
* Создайте контроллер в каталоге test. Контроллер в плагине использует тот же метод, что и контроллер в ThinkPHP.
```
fetch();
}
}
```
### Использование крючков
После создания плагина вы можете использовать его в обычном бизнес-процессе. Второй параметр метода hook можно опустить при использовании.
#### Использование в шаблонах
```
{:hook('testhook', ['id'=>1])}
```
#### В бизнес-коде PHP
```
hook('testhook', ['id'=>1])
```
### Структура каталогов плагинов
Окончательная структура каталогов:
```
tp5
- addons
-- putong
--- demo
---- controller
----- Admin.php
---- view
---- action
----- link.html
--- config.php ## Информация об авторских правах
Открытая версия wemall7 выпущена в соответствии с условиями лицензии Apache 2.0 и доступна для бесплатного использования. Права на авторские права сторонних исходных кодов и двоичных файлов, включённых в этот проект, указаны отдельно.
Copyright © 2016-2017 by wemallshop.com (http://www.wemallshop.com) All rights reserved.
Комментарии ( 0 )