Hogy érdemes tárolni a HTML és CSS fájlokat? Külön? Egyben?
Ti hogyan szoktátok?
Vannak a html fájlok, majd egy general.css fájl és mindent styling oda megy?
Vagy érdemes például mindent külön, tehát index.css, home.css, conract.css stb
Vagy érdemes használni egy general.css-t ami a topnav, háttér, meg azok a dolgok ami ugyanaz minden oldalon, majd a többinek ugyanúgy van külön-külön egy css fájlja, tehát vegyes?
Ebben az esetben ha van general styling fájl, van hogy csak egy-két elementnek kell css némelyik oldalon. Azt is érdemes külön szedni ha csak pár sor is, vagy azt benne lehet hagyni a html fájlban?
Valamint az rendben van, ha a php fájlban van html is? Vagy azt is külön kell szedegetni?
Leginkább az érdekel, hogy rendes munkahelyi körülmények között hogy szokták.
cssnél külön van szedve a layout és a style
phpnál pedig valami template engine-t használunk pl. twig
html-t és a css - t külön
#3 Hmm. Hát én ezt nem mondanám, hogy felesleges. Pontosabban a gyakorlatban én nem így csinálom:
1) Alapvetően template engine-t használok (tehát php kód nem nagyon keveredik a html-el)
2) Sima css-t már nem használok, csak scss-t. Ez úgy néz ki, hogy NAGYON sok részre van szétbontva, logikusan, hogy áttekinthető legyen. Majd van egy fő scss-es ahova import-al be van húzva minden ami egy adott felülethez tartozik. (pl admin felületnek külön "fő" scss van mert az teljesen eltér)
Először a fontok, aztán a css framework, majd a vendorok vannak importálva és végül a saját 8-10-14 scss fájlom. Így teljesen átlátható és másodpercek alatt megtalálok mindent.
A csavar a történetben, hogy a végén webpack fordítja az egészet (ja igen, a JS is hasonlóan műkdöik) tehát dev módban "tömörítetlenül" lesz egy 8MB-os css kb. Aztán ha megy élesítésre, akkor ott már prod módban fordítja a CI/CD és lesz belőle (most megnéztem egyet direkt) ~42.1KB méretű fájl amit használok minden oldalon. (kivéve ugye admin pl.. oda egyedi van használva) tehát mondhatjuk, hogy akkor érdemes teljesen külön css fájlt generálni, ha a layout NAGYON eltér.
Szóval igen: külön fájlba kell szedni, hogy átlátható legyen, ugyanakkor nem, a végén egy fájl kerül fel a weboldalra. :)
Javaslom használj template engine-t és webpack-et erre a célra és könnyebb lesz az életed. Nem véletlenül használják a keretrendszerek is ezeket ;)
Kiegészítés:
Én inline css-t nem használok soha sehol. Ennek azaz oka, hogy az egyedi scss fájlokban is változókkal dolgozok, (pl tipikusan ilyen mondjuk a szín), mert ha épp a költő meggondolja magát akkor elég 1 fájlban módosítanom a változók értékeit és mindenhol ahol használatban volt, lecserélődik. Sőt, ez megoldja azt is ha egy adott szín több árnyalatával kell dolgozni.
Az inline css-től én óva intenélek, mert egy év után ha hozzá kell nyúlni akkor a jóisten se találja meg, hogy mi hol van még beégetve a kódba és ez igencsak sok bosszúságot tud okozni, mikor nem érted pl hogy egy táblázatban miért van minden középre igazítva, holott te már mindenhol megadtad hogy ne úgy legyen.
A php és a html keveredéséhez pedig még annyit fűznék hozzá, hogy a template fájloknak is ugye php kiterjesztése van, de (én pl blade-t használok) ez nem jelenti azt hogy a view-kba üzleti logika is kerülne. Ritka esetben szükséges használni a @php() direktívát, ahol 1 sor php kód kerül beszúrásra, de a keretrendszer és az ORM mellett a táblakapcsolatoknál sem szükséges többnyire, tehát ha ki akarod listázni a felhasználókat és a hozzájuk tartozó postokat, akkor kb így néz ki:
@foreach ($users as $user)
@foreach ($user->posts as $post)
{{$post->body}}
@endforeach
@endforeach
További 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!