Hogy épül fel korrektül egy Weblap szerkezete?
HTML, PHP, és JavaScript kódokból, MySQL adatbázisból álló oldalt képzeltem el.
Azt olvastam, hogy nem ajánlott html oldalakat létrehozni és abba php kódot helyezni.
A helyes megoldás akkor PHP-val ki "echo"-zni a html kódokat?
(Pl.: <?php echo "<body class=main><table class=table>...</table></body>" ?>
A másik szerkezetbeli kérdésem pedig:
Hogy lehet PHP-vel megoldani, hogy megjelenítsen bal oldalon egy menüt ami változatlan? Felül egy fejlécet ami szintén mindig látható? Jobb oldalt pedig a menü gombok hatására változó tartalmat?
Ha lehet akkor valami kis egyszerű példával szemléltetve szeretném ezeket a dolgokat megérteni.
Én úgy "szoktam", hogy van egy index.php, ami hordozza a közös dolgokat: CSS include-ok, közös scriptek, fejléc, lábléc, menü, stb.
Ezen a scripten belül pedig van egy blokk, ahova a tartalom kerül. A tartalmat pedig mindig a menünek, feladatnak megfelelő PHP scriptek hozzák létre.
Az akkor megfelelő, ha PHP kódokba helyezek HTML kódokat az oldal létre hozásához?
Az index tartalmának venni az állandó dolgokat jó ötlet, köszönöm.
Azt a bizonyos blokkot hogy képzeljem el? Hogyan kell lekódolni, hogy változzon a tartalma? Külön file-okból hívják meg a tartalmat, de úgy tudom a frameset-es megoldás már elavult. Mi a korszerű megoldás?
"Azt olvastam, hogy nem ajánlott html oldalakat létrehozni és abba php kódot helyezni."
Ezt nem igazán értem. A php pont erre való.
> (Pl.: <?php echo "<body class=main><table class=table>...</table></body>" ?>
Mondjuk ennyire azért nem. :)) Csak adott tartalmakat "echozz" be, ami menühöz vagy adatbázishoz kötött, tehát nem statikus.
Tehát az állandó dolgok, vagyis az index.php váza HTML kód legyen és csak a változó tartalmat generálja PHP?
Annak mi a praktikus megoldása, hogy valamelyik menü gomb hatására a tartalmi részt valamelyik PHP file-ból hozza létre adott helyen?
Az a fentebb említett blokk érdekelne, miként kódolódik le.
OOP még nem világos, de érdekel mire is jó.
# 3/6 megjegyzés kapcsán kiderült rosszul emlékeztem arra amit olvastam egy PDF-ben és tényleg HTML-be kell php-t illeszteni. Köszönöm a hasznos észrevételt tőled is.
Általában, aki a php-vel kapcsolatban az objektum orientáltságról beszél, annak nem biztos hogy fogalma van róla, mit is jelent. :)
Persze fontos a magas szintű php fejlesztéshez az objektumkezelés, és az összetettebb adatokkal való bűvészkedés, azért a php még mindig egy alapvetően lineáris végrehajtási szerkezetű szkriptnyelv.
A modern weboldalak felépítéséhez a mostanában olyan divatos kifejezéssel élve MVC modellt használnak. Ez egy egyszerű strukturális programozási eljárás, aminek a lényege, hogy műveleti ill. alkalmazásbeli szintekre bontja a weboldalt. Ez a három szint, ahogyan a neve is mutatja modell, view, controller szint. A modell szinten határozzák meg az egyes adatokat tároló objektumokat, a view szint felel a kijelzési, renderelési (többnyire html output) részért, a controller szint pedig ezt a kettőt kombinálja össze a felhasználói interakció függvényében.
De neked szerintem a lényeg egyelőre az, hogy egy php alapú oldal nem úgy épül fel, mint a hagyományos html alapú. Nem határozható meg, hogy hány oldalból áll egy weboldal, hiszen többnyire ugynazok a php szkriptek, fájlok futtatják az weboldalt minden oldalon, de a kijelzés attól függ milyen hívások történnek a látogató által.
A klasszikus felépítés az, hogy minden hívást egy php fájlon - pl.: index.php - keresztül hívunk meg. Ez a fájl kezeli a hívás függvényében meghívandó különféle szkripteket, a html oldal szerkezetet, az oldal konfigurációját (nem ebben a sorrendben).
Ahhoz, hogy jobban átlásd ezeket a dolgokat keress rá mvc tutorialokra (haladó php tudást igényel).
Pl: [link]
Ha ehhez nincs meg a megfelelő tudásod, akkor még képezned kell magad.
Sok sikert!
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!