Backbone
Если вы создаете сложное одностраничное приложение, то можно использовать известный JavaScript фреймворк Backbone.
В качестве примера использования этого фреймворка было создано приложение ToDo
public/js/app/bb-todo/
. Доступ к работе с этим примером возможен в меню
Testing/Todo/backbone, если вы зайдете в приложение как Admin.
Это приложение обеспечивает управление списком задач:
- Добавление задачи
- Сохранение задачи в локальном или серверном хранилище
- Редактирование названия задачи
- Отметка выполнения задачи
- Удаление задачи из списка
- Очистка всех выполненных задач
Конфигурация
Конфигурирование приложения ToDo происходит в файле app/Views/Controller/todo/index.html.twig
.
Здесь мы добавляем сервис Todo и его параметры.
...
<script type="text/javascript">
BSA.ScriptResources.push('Todo');
addScriptParams('Todo',
{
storage: 'server',// local || server
serverStorage: {
urlRoot: '/tasks',
emulateHTTP: true
}
});
</script>
...
Если параметр storage
равен значению server
, то операции над задачами
выполняются на серверном хранилище. Обработка Ajax запросов от клиента
происходит с помощью контроллера TodoController app/Controllers/TodoController.php
.
Параметры для работы с серверным хранилищем устанавливаются в переменной serverStorage
.
Если параметр storage
равен значению local
, то операции над задачами
выполняются на локальном хранилище. Локальное хранилище организовано с помощью
Backbone localStorage Adapter public/js/lib/backbone/backbone.localStorage.js