Создание базового приложения To-Do с Symfony 3 — Часть 3

Это будет заключительная часть этого урока. Я постарался сделать этот урок как можно короче. В этой части руководства я покажу вам список задач из базы данных, а также их удаление. Наслаждайтесь драйвом!!! Мы почти на месте 😃

Список TO-DO

Итак, мы смогли создать задачи и теперь хотим иметь возможность перечислить их в нашем приложении. Мы можем сделать это, выполнив следующие шаги:

  • Обновлять listAction метод в /src/TodoBundle/Controller/DefaultController.php файл со следующим:
/** * @Route("/my/todos", name="todo_list") */ public function listAction() { $repository = $this->getDoctrine()->getRepository('TodoBundle:Todo'); $todos = $repository->findAll(); return $this->render('TodoBundle:Default:list.html.twig',['todos' => $todos]); }
  • Кроме того, вам придется обновить list.html.twig в /src/TodoBundle/Resources/views/Default папку в:
{% extends 'base.html.twig' %}
{% block body %} <div class="container"> <div class="row"> <div class="col-md-6 col-md-offset-2"> <h1 class="text-center">To do list created successfully</h1> </div> </div> <div class="row"> <div class="col-md-6 col-md-offset-2"> <h3 class="text-center">List To-do Here</h3> {% for todo in todos %} <p>{{ todo.title }}</p> {% endfor %} </div> <a href="{{ path('todo_create') }}" class="btn btn-success btn-md"> Add to ToDo</a> </div> </div>
{% endblock %}
  • Вы можете запустить приложение и добавить задачу, а затем отправить форму. Вы должны увидеть что-то вроде этого.

Ура!!! Последняя часть: удаление списка дел

Мы прошли долгий путь к этому моменту. Я покажу вам, как удалить задачу из списка. Что вам нужно сделать, это выполнить следующие шаги.

  • Добавлять deleteAction метод в /src/TodoBundle/Controller/DefaultController.php файл для обработки удалений.
/** * @Route("/todo/delete/{id}", name="todo_delete", requirements={"id" = "\d+"}, defaults={"id" = 0}) */ public function deleteAction($id) { $em = $this->getDoctrine()->getManager(); $todo = $em->getRepository('TodoBundle:Todo')->find($id); if (!$todo) { throw $this->createNotFoundException( 'No todo found for id '.$id ); } else { $em->remove($todo); $em->flush(); $this->get('session')->getFlashBag()->add( 'alert', 'Todo Deleted!' ); return $this->redirect($this->generateUrl('todo_list')); } }
  • Также обновите list.html.twig в /src/TodoBundle/Resources/views/Default папка с:
{% extends 'base.html.twig' %}
{% block body %} <div class="container"> <hr> <div class="row"> <div class="col-md-6 col-md-offset-2"> {% for flashMessage in app.session.flashbag.get('alert') %} <div class="alert alert-success"> <h1 class="text-center"> {{ flashMessage }}</h1> </div> {% endfor %} </div> </div> <div class="row"> <div class="col-md-6 col-md-offset-2"> <h3 class="text-center">List To-do Here</h3> {% for todo in todos %} <p>{{ todo.title }} ==> <a href="{{ path('todo_delete', {'id': todo.id }) }}">Delete</a></p> {% endfor %} </div> <a href="{{ path('todo_create') }}" class="btn btn-success btn-md"> Add to ToDo</a> </div> </div>
{% endblock %}
  • Как только вы удалите любое задание, вы получите следующее.

Запустить приложение Todo

Теперь мы можем создать задачу, получить список созданных задач, а также удалить задачи, которые нам не нужны.

Задайте мне любой вопрос о Symfony

Спасибо за чтение этого руководства. В первой части рассказывается о создании базового приложения To-Do с помощью Symfony, отличной веб-инфраструктуры PHP, а во второй и третьей части рассказывается о том, как создавать представления, работать с механизмом шаблонов Twig, как создавать объекты пакетов. , Формирует и обрабатывает запросы в Symfony.

Не стесняйтесь задавать мне вопросы в любое время или оставить комментарий для меня здесь, и я свяжусь с вами как можно скорее.

Ваш друг, Боже Кайоде | Толкатель кодов

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *