Частичное иерархическое расщепление на основе структуры YII2
контроллер
- Просто используйте прозрачный слой передачи в качестве параметра, повторно инкапсулируйте базовый класс (некоторая аутентификация, токен и другие функции добавляются позже)
Разделите уровень модели на три уровня: обслуживание (уровень обслуживания), BO (объект данных/уровень обработки), DAO (уровень постоянства)
- Сервис: в основном имеет дело со сложной бизнес -логикой. Контроллер в модуле соответствует подкаталоге услуг, а метод соответствует классу, который может удовлетворить независимость и сплоченность сложной бизнес -логики.
- BO: В основном он отвечает за получение данных, такие как получение данных БД, данные кэша, данные внешнего интерфейса, данные о переработке упаковки и проектирование следует принципу единоличности метода.
- Дао: В основном это ответственность за постоянство данных. В операции DB нет кода обработки бизнес -логики. Это просто добавление, удаление, изменение и проверку операций. Это может позволить небольшой форматирование данных.
Повторная инкапсуляция классов конфигурации
- Окружающая среда, которая не использует YII, в настоящее время разделена на три среды: Dev, Test и Prod. Три среды независимы. Они напрямую используются для добавления отладки и run_mode в php.ini в текущей среде PHP. Это используется, чтобы решить, включить ли режим отладки и решить, какой файл конфигурации среды использовать.
Повторная инкапсуляция классов обработки исключений
- В основном он нацелен на конвергенцию исключений, которые происходят в бизнес -логике, и управляет кодами исключений и информации об исключении.
Постоянная конфигурация переупаковки
- Сходите константы, разбросанные в их соответствующих бизнес -кодах в константу, и определите постоянный класс в соответствии с бизнес -блоком.
Добавлен модуль SQLMAP
- Все операторы SQL должны быть определены в SQLMAP и работать с обработкой команд в повторнозаплярованной DB. Самым большим преимуществом использования SQLMAP является облегчение управления и аудита SQL и снизить производительность применения комплекса SQL.
Добавлен модуль кеша
- Все операторы ключа кэша должны быть определены в кэше и управлять кэшем в сочетании с рекапсуляцией обработки кэша в библиотеке. Самым большим преимуществом использования SQLMAP является облегчение аудитов ключа кэша и управления временем, уменьшить ключевые конфликты и предотвратить проникновение кэша и лавины.
Добавленный модуль проверки параметров
- Согласно бизнес -логике, могут быть проверены некоторые входные бизнес -данные, такие как необходимость, длина и т. Д., А также может быть передана проверка анонимной функции.
Добавлена библиотека
- В основном некоторые компоненты инструмента обработки
Переписать ответ
- Разработано полностью по данным Restapi, все возвращение объединяется как JSON
Добавлен промежуточный слой
- Выполните необходимые операции для конфигурации в соответствии с модулем, таким как аутентификация, фильтрация и нагрузка против атаки промежуточного программного обеспечения, такого как загрузка по требованию.
Добавлена очередь сообщений/отсроченная очередь сообщений
- Интегрировать Beanstalk в качестве службы очередей сообщений и поддерживает отсроченные очереди сообщения
Инструменты журнала переупаковки
- Используйте сообщения для обработки одновременных требований к написанию журнала асинхронно. Производственные журналы могут использоваться в разных приложениях. Несколько процессов могут быть открыты одновременно с использованием сервера для обработки записи журнала.
Добавлен полный текстовый поиск
- Синхронизировать MySQL на основе ElasticSearch для выполнения полнотекстового поиска
Все вышеперечисленные изменения не включают основные изменения библиотеки YII2, поэтому YII2 может быть обновлен нормально в принципе. Кроме того, все основные компоненты в YII2 также могут использоваться нормально. Рекомендуется использовать их на переопределенном уровне, чтобы обеспечить развязку бизнеса и конвергенцию бизнеса.
Ссылка на конфигурацию demo.run_mode = dev/test/prod demo.debug = true соответствует разработке, тестированию и онлайн -средам соответственно. Обратите внимание, что отладка ложна в режиме Prod.