Jak użyć standardowego kontrolera Symfony w EasyAdmin 3?
W tej krótkiej poradzie pokażę jak użyć standardowego kontrolera Symfony z widokiem w obrębie layoutu EA. Przyda się m.in. do zrobienia statycznej stronki informacyjnej.
Symfony – framework (oparty o wzorzec MVC) służący do budowy dynamicznych aplikacji internetowych w języku PHP (OOP). Oficjalna strona projektu: symfony.com
W tej krótkiej poradzie pokażę jak użyć standardowego kontrolera Symfony z widokiem w obrębie layoutu EA. Przyda się m.in. do zrobienia statycznej stronki informacyjnej.
Menadżer plików FileManagerBundle pozwala uploadować i przeglądać pliki multimedialne na serwerze. CKEditor to zaawansowany edytor dokumentów hipertekstowych. Oba komponenty tworzą zgrany duet, bez których zarządzanie stroną było by mega toporne.
CKEditor to wizualny edytor WYSIWYG UI, który służy do redagowania zawartości dokumentów hipertekstowych. Bez tego ani rusz.
CKFinder + CKEditor to idealne połączenie do redagowania treści na stronie internetowej.
Ta porada dotyczy tylko serwerów Apache i plików konfiguracyjnych .htaccess, które pozwalają dodawać własne dyrektywy do bazowych ustawień.
Symfony odrodził się niczym „Feniks z popiołów” jako Flex. Wersja „odchudzona” składa się z komponentów, które dobierasz do projektu wedle potrzeb.
Jeśli strona jest postawiona na serwerze Apache to można użyć modułu mod_rewrite, który ułatwia tworzenie „przyjaznych linków”.
Doctrine udostępnia magiczne polecenie, które potrafi wygenerować klasy modelu z istniejącej bazy danych.
W tym rozdziale pokażę w jaki sposób wgrać pliki na serwer. Możesz to rozwiązanie wykorzystać do tworzenia galerii zdjęć itp.
W rozdziale NIESTANDARDOWE ROZSZERZENIE TWIG pokazałem w jaki sposób dodać do szablonu własne filtry i funkcje. Aby pobrać obiekt z bazy wystarczy dobrać się do interfejsu Menadżera Encji – EntityManagerInterface (z pakietu Doctrine).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<?php // ... use Doctrine\ORM\EntityManagerInterface; class AppExtension extends AbstractExtension { private $em; public function __construct(EntityManagerInterface $em) { $this->em = $em; } // ... } |
W konstruktorze ustawiam uchwyt $this->em i mogę użyć np: repozytorium:
1 |
$this->em->getRepository(Entity::class)->find($id) |
A reszta to już pikuś 😉 Dla przykładu dodam funkcję […]
1. Instalacja najnowszej wersji frameworka Symfony – tradycyjna aplikacja webowa:
1 |
$ composer create-project symfony/website-skeleton my_project |
– mikroserwis, aplikacja konsolowa lub API:
1 |
$ composer create-project symfony/skeleton my_project |
2. MakerBundle – komendy generujące kod aplikacji Maker pomaga generować m.in: kontrolery, klasy, CRUDa, formularze itp. – listowanie wszystkich komend Maker’a:
1 |
$ php bin/console list make |
Przykłady: – utworzenie kontrolera:
1 |
$ php bin/console make:controller |
– utworzenie klasy Entity:
1 |
$ php bin/console make:entity |
– wygenerowanie CRUD-a dla klas […]