в дто?
2. де ключі помилок які сервіс генерить буде?
3. сервіс буде валідірувать в контроллері?
я не розумію твоїх питань
https://pastebin.com/MNJhmWZe
не зрозумів ще, проясніть плз 1. а де самі ключі помилок? в дто? Ключі які віддаются на фронтенд для переводів. По пастебіну зрозумів шо мають буди десь в ДТО 2. де ключі помилок які сервіс генерить буде? Ключі які віддаются на фронтенд для переводів. По пастебіну - вони в самому сервісі 3. сервіс буде валідірувать в контроллері? По пастебіну зрозумів шо в контроллері і побудований на ексепшинах. Осуждаю )) якщо буде порушуватись наприклад два бізнесправила - як виводить дві помилкі? воно ж вилитить при першому ексепшину Для простих сценаріїв цей підхід має місце бути. Для себе корисним не знайшов. (хотів би побачити більш цікавіші екземли) Але форми як на мене форми набагато крутіші )) і код там буде по своїм місцям лежать і зони відповідальності чітко розбиті Про рендер в твігу можна дискутувати але на бекенді онлі формс)
1. Що означає "де самі ключі"? навіщо їм десь бути? Якщо спрощено, то у вас є десь в БД чи в файлах масивчик ключ - текст. Система локалізації звідти бере по ключу текст. Якщо так як в пастебіні, то ключі мають вигляд some_business_error_<code> значить у твігу буде перевірка, якщо error_code не нулл,то відобрази помилку some_business_error_<code>, код підставити і отримаєте ключ. є інший варіант, зробити помилки так, щоб текст помилки був ключем щось типу такого BusinessActionError::limitReached(), BusinessActionError::notEnoughPermissions()... а там під капотом встановлюєтсья потрібний ключ в якості message відповідно в шаблоні буде одразу $error->getMessage()
2. те саме, навіщо ключам десь бути? 3. це найпростіший варіант. Взагалі мені важко уявити кейс, коли по бізнес перевіркам буде 2 помилки типу у мене немає прав на дію, але я намагаюсь її зробити. і мені пише: тільки адмін може зробити цю дію і ти перевищив ліміт на добу. який може бути ліміт, якщо я взагалі не можу цю дію зробити? багато помилок за раз - це швидше валідація структури запиту, так як робить валлідатор - повертає ліст помилок. Але ніхто не забороняє в кастомному ексепшені мати список помилок або взагалі не юзати ексепшен і повертати якийсь результат з сервісу. Або саксес, або зі списком помилок
Обсуждают сегодня