Ako pomenovať metódy v triede, ktoré sa potom mapujú do URL. rubrika: Programování: PHP

1 robo.balasko
položil/-a 28.8.2014

Zdravím,

zaujímal by ma váš názor na to, či je lepšie pomenovať metódy v triede podľa toho ako by mala vyzerať URL cez ktorú sa potom daná metóda volá alebo radšej definovať cesty k daným metódam cez routes súbor.

Napr. ak mám controller User v ktorom sa majú dať prideľovať užívateľom farby (pod ktorými sa bude ich meno v sys. zobrazovať) a chcem metódu na vytvorenie novej farby, tak je praktickejšie rovno napísať metódu addcolor ktorá sa potom napamuje ako users/addcolor alebo nejaký iný názov a potom to v routes len nasmerovať napr. nech adresa users/colors/add smeruje na danú metódu?

Osobne sa mi páči viac tá druhá varianta.

odkaz Vyřešeno
9 Vašek Ch.
odpověděl/-a 28.8.2014

Objektový návrh controllerů (názvy tříd, namespacy, názvy metod) se řídí jinými pravidly než URL adresy, takže je v principu nesmysl spojovat tyhle dvě věci dohromady. My píšeme controllery nanejvýš o několika málo úzce souvisejících akcích (často jedna, málokdy více než tři), takže bychom bez explicitního definování rout dost pohořeli.

Komentáře

  • Kit : Veřejné metody, které mám v kontrolerech, mají typicky shodné názvy kvůli polymorfismu. Názvy tříd odvozuji z URL kvůli jednoduchosti routeru, namespace a protokol se do toho dá zapojit také. Bohužel nevidím efektivní způsob, jak oddělit název třídy od URL. Je v tom nějaké mapování, na které jsem nepřišel? 28.8.2014
  • robo.balasko : Nakoniec som trocha zmenil návrh a vybral tie farby do osobitného controlleru a zvyšok čo bude treba to už nadefinujem explicitne. Ďakujem všetkým za rady! 29.8.2014

Pro zobrazení všech 5 odpovědí se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.