Hirdetés
- Fotók, videók mobillal
- Xiaomi 15T Pro - a téma nincs lezárva
- 8000 nit, maradhat? A szaúdiaknál kezd a Honor 600 Pro
- Samsung Galaxy S23 Ultra - non plus ultra
- Xiaomi 17 Ultra - jó az optikája
- Google Pixel topik
- Vivo X300 Ultra - tárcsázz, ha van rá keret!
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Yettel topik
- Samsung Galaxy S26 Ultra - fontossági sorrend
Új hozzászólás Aktív témák
-
cucka
addikt
válasz
Sk8erPeter
#3980
üzenetére
Most mit kötekszel? Nem arról volt szó, hogy fingom sincs, mi az a gráf vagy fa, hanem arról, hogy jelen esetben Te hogy oldottad meg a gyakorlatban.
Nem kötekedésként írtam. A fa tárolási eljárásom amúgy teljesen szokványos megoldás, nincs benne semmi hókuszpókusz. Azért kérdeztem, hogy tanították-e, mert általában egyetemeken ilyesmiket meg szoktak mutatni gyakorlati órákon, tehát nem kell mindent az alapoktól magyaráznom
.A kérdés oka az volt, hogy először úgy képzeltem, hogy a language táblát is azért kell joinolni, mert mondjuk úgy kérdezel le, hogy "... WHERE language.name='en';", és akkor tényleg kellett volna joinolni, mivel akkor különben honnan szeded a nevet?
Egy lekérdezésnél akkor kell bejoin-olni egy táblát, ha szükséged van valamilyen mezőre belőle. A nyelvek kezelését egy nyelvkezelő osztállyal oldom meg, amely a konstruktorában betölti a rendszerben található összes nyelvet. Ha szükségem van arra, hogy a "hu" nyelvnek mi az azonosítója, akkor megkérdezem a nyelvkezelő objektumtól (és nyilván fordítva is, ha mondjuk a 2-es nyelv szöveges nevére van szükség). Így megspórolom, hogy minden egyes, többnyelvű adatot érintő lekérdezésbe bele kelljen join-olni a nyelv táblát is.Igen, viszont így megnő az esélye annak, hogy elcseszi a fájlt, és ha nem ért a HTML-hez, akkor néz, hogy miért nem működik.
Félreértetted. A felhasználó által szerkesztett menü egy xml-ben van, a felhasználó által szerkesztett szöveges tartalom pedig file-okban. Magát a honlap sablonját nem piszkálhatja, egyszerűen csak kap egy fckEditor-t, ahova beírhatja a szöveges tartalmakat. Így nem tud elrontani semmit.Akkor meg már mondjuk az a kérdés is felmerül, hogy miért is ne használjunk adatbázist a saját életünk megkönnyítésére, és alakítunk ki egy jó admin felületet a megrendelőnek, ahol sokkal szebb felületen tudja szerkesztgetni a menüpontokat és a belső tartalmat.
A most említett file-os megoldásom pontosan ugyanazt tudja, mint ha adatbázisból működne a dolog. A korábban említett, oop-s fa reprezentációm pont ezért hatékony, mert a hozzá tartozó alkalmazáslogika, adminisztrációs felület vagy megjelenítés szempontjából érdektelen, hogy adatbázisban vagy xml-ben tárolod a fát/menüt.A file-ban tárolós megoldás azért hatékony, mert sok ügyfél csak egy pár menüpontból álló szöveges honlapot kér. Ezt megfelelő keretrendszerrel ezt 1-2 nap alatt meg lehet csinálni és csak egy php-s tárhelyre van szükség hozzá. Gyakorlatilag csak a html/css részét kell elkészíteni, a többi már kész van, ezért fontos követelmény a programkódnál az újrafelhasználhatóság.
Új hozzászólás Aktív témák
- Új/Újszerű Apple Macbook Air 15,3" M4 /24GB/1TB - Ezüst - MAGYAR - 15 Ciklus - 2,5 év garancia
- MSI A78M-E35 (MS-7721) AMD FM2+ alaplap
- MAGYAR Lenovo T14 gen2 (11.gen Core I5 16Gb 512Gb 98% Akku) laptopom eladó!
- Legolcsóbban - Érintős Lenovo ThinkPad X1 Carbon Gen9: i5-1145G7/16GB/512Gb NVMe SSD/14"FHD IPS)!
- Lenovo Legion Go S 16/512GB Z1 Extreme
- AKCIÓ! Intel Core i7 6700K 4 mag 8 szál processzor garanciával hibátlan működéssel
- Lenovo ThinkPad P15 Gen 2 i7-11850H 32 GB RAM 1000GB SSD NVIDIA T1200 Garancia
- iPhone 12 64GB 100% (1év Garancia) Több színben is elérhető! - ÚJ EREDETI AKKUMULÁTOR - AKCIÓ
- új NAGYakku!!! 6-10óra üzemidő, 5G! Dell Latitude 5330 i3-1215U - 16GB 256GB 13.3" FHD 1 év gar
- AMD GAMER PC! Ryzen 5800X / RX 6900 XT / 32GB 3600MHz/ 1TB NVMe / 850w Gold! BeszámítOK
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
.
