Portál AbcLinuxu, 15. července 2025 12:14
Dobry den, mam takovy maly dotaz.
Rozhodl jsem se procvicit si programovani PHP objektove. Pisi takove "cvicne" stranky a ted se rozhoduji, jak navrhnout hierarchii stranek. Chci se co nejvice priblizit idealu, prosim o konzultaci drive, nez se vydam spatnym smerem.
Predstava jednoduche hierarchie. Hlavni trida Site bude obstaravat vsechny okolky kolem zobrazeni stranky. Navic bude "prejimat" instance tridy Page .
A vzhledem k tomu, ze chci vytvaret Page o vicero obsahu - rozumej mit vic stranek, resim to, jak ty stranky Page do instance tridy Site vlozit.
Chtel bych mit vice souboru, v kazdem jen to, co se tyka obsahu dane Page. Proto jsem si rikal, ze vytvorim hlavni soubor s instanci tridy Site, nactu potrebny "podsoubor", ve kterem se vytvori instance Page a tuto instanci Page, "zeserializuji", ulozim a nejakym zpusobem zpetne nactu v hlavnim souboru do instance tridy Site.
Doufam, ze jsem zhruba osvetlil svuj zamer. Ptam se na tohle proto, jestli si to moc nekomplikuji a da se toto vyresit nejak pohodlneji ->> "m0r3 OOP c00l".
Myslenka OOP se mi zalibila, v dusledku setri praci a chtel bych se do toho vice dostat. Na druhou stranu se obavam, ze jakmile zacnu tvorit nejaky program timhle stylem, v budoucnu mohu narazit na nejaky problem, ktereho vy me zde jiste vyvarujete. Popripade budu rad, za clanek podobneho charakteru.
Diky za odpoved.
nechapem celkom zmysel toho " nactu potrebny "podsoubor", ve kterem se vytvori instance Page a tuto instanci Page, "zeserializuji", ulozim a nejakym zpusobem zpetne nactu v hlavnim souboru do instance tridy Site." to ako vytvoris instanci Site v jednom subore a pak ji v Page vytvoris odkaz na instanci Site?
BTW: ako chces pracovat s webom v PHP "more OOP" tak si skus nastudovat co to je MVC(model-view-controller). je to povazovane za optimalny sposob riesenia webov zalozeny na OOP principoch
Ne, chtel jsem vytvorit instanci tridy Site a do teto instance nacitat instanci Page.
KAzdopadne, podstata toho reseni spocivala v tom, ze budu muset v kazdem souboru se strankou pouze vytvaret instanci tridy Page.
Naproti tomu instance Site bude vytvorena vzdy a jeji obsah (Page), bude zaviset na volanem souboru.
Jdu se dozvedet neco o tom modelu, abych tu nepsal bludy.
$page = preg_replace('/[^A-Za-z0-9]/', '', $_GET['page-name']); require('page-controller/'.$page.'.php'); $pgctrl = new $page($Site); $pgctrl->do_something();
Tak. Tento Váš kód, tedy spíš tu myšlenku, jsem původně hledal. Je to v podstatě 'router'.
Chtěl jsem poznat, jak se tato problematika v jednoduchých zadáních řeší v praxi.
A pokud mohu doporučit - například tento článek problematiku _velmi_ jednoduše prolétne praktickou ukázkou.
Pokud nemáte nějaké další způsoby řešení, bo odkazy na svá řešení, uzavřu toto téma jako vyřešené. A vám, pánové, děkuji.
Je to v podstatě 'router'.Přesněji jde o „Front Controller“.
Diky za doporuceni, ill check this out!
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.