Releases: GreenWix/prismaFrame
v1.0.2 Рефакторинг эксепшенов
Возможно стоило это минорным апдейтом сделать, но в целом изменений не очень много, так что пусть будет патч.
Было решено отказаться от использований эксепшенов в виде SomeError::SOME_ERROR(...); Такой подход мусорил трейсы, мешал созданию новых видов ошибок и в целом выглядел не очень.
Теперь все как у людей. Ну, или, по крайней мере, похоже на что-то нормальное.
Родители всех эксепшенов
Возникающие во время обработки запросов ошибки наследуют RuntimeErrorException.
Возникающие во время инициализации или внутренние ошибки наследуют InternalErrorException.
Ошибки валидаторов типов
Пока не используется, но в дальнейшем планируется - TypeException.
Ошибка, возникающие при получении/добавлении валидатора типа - TypeManagerException.
Ошибки, возникающие при обработке запроса.
Возникающие до обработки контроллером ошибки наследуют RequestException.
Если не указана, или указана несовместимая версия - VersionException.
Ошибки при работе контроллеров
Ошибки контроллеров наследуют ControllerException.
Некорректный ввод - BadInputException.
Указан неизвестный контроллер - UnknownControllerException.
Указан неизвестный метод - UnknownMethodException.
Используется неподдерживаемый HTTP метод - WrongHttpMethodException.
v1.0.1 Полный рефакторинг!
Весь код prismaFrame был переделан. В ходе рефакторинга были найдены некоторые ошибки, которые сейчас исправлены.
Отказались от поддержки нескольких типов (в phpdoc) для 1 переменной. Причина - это просто не нужно. В таких случаях лучше отдельные методы делать.
Теперь supported types больше не называются так. Теперь они просто types. А еще теперь есть TypeValidator'ы.
Так что проверка входных данных и сама структура данных являются разными классами.
Пререлиз, потому что еще планируется переработать систему исключений, а также в большей мере задействовать логгер.
0.2.1 POST и Security
- Исправлена проблема с POST запросами. Она заключалась в том, что было невозможно получить аргументы
- Теперь Security должен иметь статические методы
php beforeRequest(ServerRequestInterface $request)
иphp report(string $message)
. - Также изменен метод указания Security класса.
Было
PrismaFrame::setSecurity(new SomeSecurityClass)
Стало
PrismaFrame::setSecurity(SomeSecurityClass::class)
0.2
0.1 It works!
Первый пре-релиз.
Что готово:
- Контроллеры в виде классов
- Контроллеры умеют принимать в одном аргументе несколько поддерживаемых типов
- Поддерживаемые типы в виде классов и Closure'ов (а также возможность сделать их вариации в виде массивов)
- internal, runtime и security ошибки