Fork me on GitHub

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