SyMfonAK - vyvíjame databázy pomocou frameworku Symfony

Symfony balíčky (Bundles)

Z SyMfonAK
Prejsť na: navigácia, hľadanie

Symfony dokumentácia → Symfony balíčky (Bundles)


originál dokumentácia

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.
  • SensioGeneratorBundle pridáva množstvo príkazov do konzoly, formuláre, CRUD založené na Doctrine

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

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


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 

Iné zdroje