Keresés

Új hozzászólás Aktív témák

  • fordfairlane

    veterán

    válasz Joci93 #18513 üzenetére

    1. Lehet úgy csinálni, hogy egyetlen kontrollerobjektumot használsz több metódussal. A közös kódrész, a "getItemDetails" külön metódusba kerül, amit a többi metódus meghívhat.

    2. Lehet csinálni a két kontrollerosztálynak közös szülőosztályt, ami tartalmazza a közös kódrészt.
    class IndexController extends MyController

    class SubmitController extends MyController

    class MyController extends Controller

    3. Lehet csinálni egy service objektumot, amit aztán bármelyik kontroller használhat. Ebben az esetben a service objektumot példányosítani kell az adott Kontroller konstruktorában, vagy valami service manager komponens segítségével. Laravelben is van ilyen, csak én speciel nem ismerem a Laravelt, így ebben konkrét tanácsot vagy kódrészletet nem tudok produkálni.

    A framework saját controller osztályát módosítani valóban nem tanácsos.

  • PumpkinSeed

    addikt

    válasz Joci93 #18513 üzenetére

    Igazából elvben nem szabadna két kontrollernek kommunikálni egymással vagy nem tudom. De szerintem jobb lenne ezt a Details() metódust beletenni a Controller-be. Viszont mivel gondolom a Controller a Core-ban van benne ezért ezt nem kellene csinálni a későbbi frissítések miatt. Esetleg azt lehetne csinálni, hogy betenni egy Controller-t ValamiController néven (Nem tudom mi az Index és Submit ebben az esetben) és a SubmitController meg az IndexController nem extends Controller-el lenne ellátva hanem extends ValamiController, míg a ValamiController megkapná az extends Controller-t és benne lenne a Details() metódus.

Új hozzászólás Aktív témák