Итак, я решил взять проект, над которым я работал, и систему управления проектами, и преобразовать его из стандартного многостраничного приложения в одностраничное приложение. В этом процессе я рассмотрел несколько javascript MV * ish frameworks (ember, knockout, backbone и т. Д.) И решил пойти с backbone.js, поскольку он кажется самым гибким решением и что я уже использую подчеркивание. js как для его утилит, так и для системы шаблонов.Магистраль и код модели PHP Дубликат
Одна из самых больших проблем, с которыми я сталкиваюсь, это возможное дублирование кода, которое я буду иметь для модели и логики бизнеса/домена как в моих моделях PHP, так и в моих базовых моделях.
Это всего лишь техническая стоимость, которую я заплатил, когда собираюсь с такой архитектурой или есть некоторые вещи, которые я могу сделать, чтобы уменьшить эту проблему?
Похоже, что здесь есть какая-то полезная информация, но после того, как вы прочитали больше на эту тему, я думаю, что я попытаюсь сохранить как можно больше бизнес-логики на стороне сервера, некоторые из них указали здесь: http: //programmers.stackexchange. ком/а/114800/20237. Единственное, на что я надеюсь дублировать в валидации, то, скорее всего, все остальное должно быть сохранено в коде сервера. Также я не могу использовать усы, поскольку мне действительно нужен механизм шаблонов, который поддерживает истинные условные выражения (например, if (someVar == 'some value ")), как это делает механизм шаблона подчеркивания. – ryanzec
Если вам нужно больше логики для ваших шаблонов, вы можете попробовать использовать рули, которые являются расширением Усы. Я только что научился, кроме ограничений, и добавляю столько же к модели, сколько могу, чтобы помочь сделать (в некоторых случаях даже добавление html к модели). –
Вы все еще можете использовать «истинные условные выражения» с шаблонами усов, вы просто не делаете их в самом шаблоне, скорее у вас есть класс/объект представления и реализуете свою логику там. Таким образом, намного легче тестировать и т. Д. –