SyMfonAK - vyvíjame databázy pomocou frameworku Symfony
Symfony balíčky (Bundles)
Symfony dokumentácia → Symfony balíčky (Bundles)
originál dokumentácia
Obsah
Bundles v štandardnej edícii Symfony
- SensioFrameworkExtraBundle pridáva podporu vo forme definície pomocou annotácie ako smerovanie, vyrovnávacia pamäť, šablóny a bezpečnosť. Šetrí množstvo kódu najmä v kontrolérovi.
- SymfonyMakerBundle je aktuálna alternatíva k staršiemu nástroju SensioGeneratorBundle, od verzie SF 3.4 a viac, vyžaduje Symfony Flex
- API Platform
- youtube webinar z Poľska (EN) o používaní API platform
- pri nasadení z vývoja do prod k providerovi písal, že nepozná mojeurl/api až kým som nedal vyrobiť .htaccess pomocou apache-pack, viď Nastavenie WEB servera, Apache - pridanie pravidla Rewrite
- dobrá stránka o API využívaní : api evangelist :-)
Bundles týkajúce sa projektu Doctrine
- DoctrineBundle integruje do Symfony projekty Doctrine ORM a DBAL, dodáva konfiguračné parametre, príkazy pre konzolu a tiež obohacuje web debug
- DoctrineFixturesBundle umožňuje import sady dát (fixtures) pre testovanie alebo ako štartovaciu sadu pre databázu
- DoctrineMongoDBBundle integruje MongoDB NoSQL databázu vďaka ODM (Object Document Mapper), veľmi podobný čo sa týka spôsobu práce a filozofie ako Doctrine2 ORM
- DoctrineMigrationsBundle obohacuje o nástroje programátorským spôsobom nasadzovať nové verzie schémy databázy bezpečným, ľahkým a štandardizovaným spôsobom.
- DoctrineCacheBundle umožňuje Symfony využiť iný spôsob vyrovnávacej pamäte cache pomocou Doctrine cache library.
Populárne Bundles Symfony
- FOSUserBundle
- FOSRestBundle
- SonataAdminBundle
- KnpMenuBundle
- StofDoctrineExtensionBundle
- LiipImagineBundle
- IvoryCKEditorBundle
- NelmioApiDocBundle
- FOSJsRoutingBundle
- EasyAdminBundle
petkopara/crud-generato-bundle
Úprava do slovenčiny v šablónach
index.html.twig
- New zmeniť na Založiť nový ...
- title na tlačidlách, show, edit a delete na zobraziť, upraviť a zmazať
- na tlačidle zmazať return confirm Are You sure? zmeniť na Naozaj zmazať
- zmeniť extends 'PetkoparaCrudGeneratorBundle::base.html.twig na base.html.twig, nech úvodný zoznam vyzerá ako ostatné stránky a napríklad vidieť menu.. (u new a show nechať, nemusí byť praktické vidieť menu)
- nadpis List zmeniť na 'Akcie
- ak chcem zmeniť klikateľný nadpis tam vymením import "PetkoparaCrudGeneratorBundle:macros/th_sortable.html.twig" za upravený vlastný macros/th_sortable.html.twig
- ak netreba hromadné spracovanie viac položik, zakomentujem prvý stĺpec a tiež prednastavanú časť kódu pre vykonanie hromadnej akcie, iba div class pagination form-inline:
{# <div class="pagination form-inline"> <select class = "form-control" name="bulk-action"> <option value="delete">DELETE</option> </select> atd atd </div> #}
- Kontrolér
- ifnormácia pod zoznamom o počte záznamov protected function getTotalOfRecordsString(... tam zmeniť
return "Showing ...
na:return "Zobrazených $startRecord - $endRecord z celkových $totalOfRecords záznamov."
- stránkovanie v protected function paginator zmeníme
'prev_message' => 'previous'
na=> 'predchádzajúca stránka'
a next na nasledujúca stránka
- ifnormácia pod zoznamom o počte záznamov protected function getTotalOfRecordsString(... tam zmeniť
new.html.twig, show.html.twig, edit.html.twig
- div class page_header nadpis h2 zmeniť na slovenský text
- u show niečo v zmysle Detail ..
- button submit Save prepísať na Uložiť
- button submit Save and Add prepísať na Uložiť a založiť ďalší nový...
- button Back to list prepísať na Späť na zoznam
- len u Show nastaviť názvy položiek, lebo to nie je formulár, nadpisy formulárov sa menia inde (viď nižšie)
Úprava do slovenčiny položiek formulárov a filtrov
formular new a edit
Nadpis položiek formulárov zmeniť vo src/AppBundle/Form/MenoentityType.php vo funkcii buildForm v $builder. Do riadka ->add('lkpsklotyp_typ')
pridať label takto:
->add('lkpsklotyp_typ,null, array('label' => 'nadpis'))
Úprava kontrolér-a v prípade použitia petkopara_multi_search_builder
V protected function filter som zmenil pôvodné if ($filterForm->isValid)
na if ($filterForm->isSubmitted() and $filterForm->isValid())
, lebo bolo varovanie, že od verzie symfony 3.2 už nie je vhodné dávať isValid() pred použitím isSubmitted() a od verzie 4 to bude vyhadzovať chybu. Teraz je to vyriešené.
Užitočná položka v prehľade, show a edit.. číselníkov - počet použití
V relačnom vzťahu tabuliek číselníkov sa dá jednoducho zobraziť v prehľade počet použití. Napríklad ak je číselník lkppovrchupr pre tabuľku objednavka tak v šablóne zoznamu položiek číselníka lkppovrchupr sa dá zobraziť takto:<td>{{ lkppovrchupr.objednavky.count }}</td>.
Zobrazenie tlačidla Zmazať možno potom podmieniť a zobraziť, iba ak .count < 1 a to v index.html.twig ale aj v show.html.twit a edit.html.twig.
LexikFormFilterBundle
PUGX Autocompleter Bundle
PUGXAutoCompleterBundle www stránka