diamond: да, это может быть все, что угодно, html страница, js framework, desktop клиент и много другое. Тут вопрос удобства и задачи. JS js framework`и для этого создавались. Но всегда есть свои исключения исходя из задачи, если вам нужно обработать 1 страницу, то возможно в них нет необходимости.
Если у вас уже есть логика построения, вы можете взять и сделать промежуточкий клиент на php для своего rest api и рендерить все как обычно на сервере. Профит в повторно используемой логике.
Сергей Протько: а вот еще главный профит. Я удаляю товар и все что к нему относится, по ключу красиво удаляется. И мне даже не нужно писать логику для этого, так как сервер бд сам все порешает.
Сергей Протько: да но тут смотрите опять таки, у меня есть картинки и это не просто ссылка, это: разные размеры (минимум превью и ревью), is_default, у картинок есть alt и title, а для них мультиязычность. Получается чтобы все это контролировать, вам потребуется писать скрипты, которые будут следить за целостностью этого json.
А что если в один прекрасный день добавится еще 1 конфиг, например изображение в шапке товара или еще что-то. Это все весьма неудобно станет поддерживать.
Даниил Демидко: java ? что-то не люблю сокращенный синтаксис =). Там была метка, ее удалили, вопрос скорее адресован к пхп. У меня там сложилось, что с детства избегаю рекурсии. Если дерево, то Nested Set и тп. В крайнем случае рекурсия + кеш, а тут вопрос именно реалтайм выполнения.
Вячеслав Плиско: В АР много магии, а еще мутаторы/аксессуары и тп. Поэтому АР я бы воспринимал как гибрид между:
- Entity
- Presenter
- Repository
- Ну и некое подобие Модели в плане логики, так как часто в "модель" ее пишут.
Вячеслав Плиско: да, но тут важен еще формат данных. Тоесть если вы в 1 случае возвращаете модель, во втором массив а в третьем коллекцию, то никто не гарантирует, что кто-то не воспользовался где-то там индивидуальной особенностью каждого варианта. Поэтому формат возврата данных должен быть стандартизирован. Например коллекции или сущности. Но тут еще очень много вопросов в плане реляций и тп.
В общем как-то через весьма серьезную боль и рефакторинг я прихожу к таким мыслям.
Сергей Протько: Да, я не храню сам код картинок, я храню пути, некие дополнительные свойства, переводы для сео и тп. Это весьма неудобно хранить в JSON, я не работал с JSONB, возможно там по другому, но к сожалению пока у меня нет возможности использовать что-то похожее в MySQL 5.5.
Скоро чихать буду от active record.
Опять таки мне еще кажется, что храня данные в json, вы пренебрегаете заповедью "реляционная бд"
Apple_ins: Нет. Это гуглиться менее чем за минуту, если вы не смогли это сделать, значит у вас 0 понятия о происходящем. Следовательно, я попробую вас научить, а не выдать копи-паст решение для теста, которое вы потом будете кидать из проекта в проект.