1. Wrzuciłem Ci pull requesta.
2. Czemu używasz Symfony 2.8? Polecam używać 3.2/3.3
3. Skoro używasz:
@Template("AddressBookBundle:User:new.html.twig")
To wystarczy jak zwrócisz samą tablicę z parametrami:
return ['form' => $form->createView()];
3. Zamiast
$this->getDoctrine()->getManager()
możesz utworzyć serwis z odwołaniem się do odpowiedniej encji (przykład masz w pr)
4. Nie twórz FormBuildera w kontrollerze. http://symfony.com/doc/current/forms.html#creating-form-classes
Możesz łatwo utworzyć formularz przez konsolę.
builder->add("name","text")
2 parametr jako string jest zdeprecjonowany, użyj TextType:class.
$desc=$post->getDescription();// mam wrazenie ze to glupio zrobilem mozna inaczej?
Można lepiej. Nie rób tego w kontrollerze. Tylko w Twigu możesz odwołać się do getterów i setterów. np. post.getDescription, wersja skrócona: post.description.
Po co przekazujesz 'success' => "success" ? Wystarczy jak dasz 'post' => $post i to Ci wystarczy.
Zamiast array(), użyj skróconej wersji [ ].
5. Zamiast return new Response("Usunieto"); możesz dać redirecta do controllera z listą userów, a przed redirectem flash-message.
6. Przy definiowaniu routingu warto dodać name.
7. W metodzie modifyAction nie masz obsługi formularza formAddress.
8. Używaj PHPDoc. Zamiast "name"=>"$name", daj zmienną $name bez cudzysłowia.
9. Możesz w configu dodać:
twig:
form_themes:
- 'bootstrap_3_horizontal_layout.html.twig'
Wtedy będziesz miał ładniejsze bootstrapowe formularze.
10. Pisząc testy zamiast WebTestCase używaj \PHPUnit_Framework_Test.
11. Pisząc tego typu CRUDY warto użyć http://symfony.com/doc/current/bundles/DoctrineFixturesBundle/index.html + https://packagist.org/packages/fzaninotto/faker do generowania randomowych danych.