|
[ define @ 01.04.2006. 21:18 ] @
| Interesuje me, posto u zadnje vreme vidjam dosta sajtova u kojima je sve odradjeno preko index.php?nesto=n&nesto=n&nesto=n&nesto=n&nesto=n
umesto vise fileova.
Nesto sam razmisljao i konsultovao se sa prijateljem, ali me jos uvek muce neke stvari. Moze li neko iz iskustva da mi pojasni zasto tako funkcionisu stvari i koje su prednosti a koje mane.
Da se razumemo, ja kontam kako to funkcionise, ali ne znam koja je prednost u odnosu na vise fileova... |
[ ZaMpA @ 01.04.2006. 22:52 ] @
predpostavljam da mislish na to da razlicite 'organe' tvog sajta pravish u posebnim modulima(skriptama)
to ima mnogo ali stvarno mnogo prednosti.
ako tvoja skripta cita neshto iz baze podataka, ti cesh sve f-je (ili klase, kako vishe volish) koje imaju veze stim staviti u jedan fajl pa za taj fajl raditi request_once(); na svakoj strani gde ocesh da ispisujesh iz baze....
tako u slucaju da se promeni sistem sa npr MySQL-a u SQLite, ti samo izmenish f-je u jednom fajlu, ne morash da menjash svaku stranu na kojoj se ispisuje nesto iz baze.
ne treba sve trpati u jedan fajl, treba teziti modularizaciji, jer to mnogo olakshava odrzavanje.
evo razmishljam ali ne mogu da se setim, u kom bi slucaju bilo bolje sve staviti u jedan fajl
[ define @ 01.04.2006. 22:59 ] @
ne znam da li smo se razumeli, evo primer auto oglasa
moze da bude jedan file trazi.php, drugi auto.php?id=1 treci rezultati.php itd
a moze da se uradi index.php?action=trazi
index.php?action=show&id=1 umesto auto.php?id=1
da ne pominjem neke dosta komplikovanije gde bi kao na mobile imali i tip vozila
pa index.php?action=show&type=car&id=10 umesto auto.php?id=1 truck.php?id=1 ....
Razumes li me sad?
[ Radovan__III @ 01.04.2006. 23:15 ] @
Tako izgleda vecina sajtova koji su kupljeni, tj ti sajtovi za online kupovinu, foruma itf je napavljena univerzalnim, oni se medjutim verovatno sastoje od mnogo veceg broja fajlova koji se inkluduju.
Kako treba raditi po meni:
Ne bo trebalo da koristis takve putanje i queiye ako nemas neki od gore navedenih univerzalnih sajtova, pogledaj malo SEO i vidieces da vecina ljudi predlaze adresu tipa www.mojsajt.com/auto/kupe/audi/tajmodel.php nego npr www.mojsajt.com/index.php?tip=3&model=bsdfs
[ ZaMpA @ 01.04.2006. 23:18 ] @
Citat: define:moze da bude jedan file trazi.php, drugi auto.php?id=1 treci rezultati.php itd
a moze da se uradi index.php?action=trazi
index.php?action=show&id=1 umesto auto.php?id=1
znaci cela skripta ti je u jednom fajlu a na osnovu prosledjenih promenjivih izvrshava se odredjena grana skripte (za trazenje, prikazivanje itd..) jel na to mislish?
[ define @ 01.04.2006. 23:26 ] @
Pa razmisljam se, do sada je bilo odvojeno pa sam mislio da li je bolje da odradim sve u jednom file-u i da link izgleda kao ono index.php?action=show&type=car&.....
Sto se tice radovanovog posta, definitivno ne odustajem od seo optimizacije, ali sada se razmisljam izmedju ovih solucija, koja je bolja i zasto, obzirom da ce na sajtu biti mnogo vise tipova sem kola, znaci odmah da ce biti i vise fileova.
Primera radi ako ima 5 tipova vozila onda ce ici pet fajlova samo za prikazivanje, pa 5 za trazenje, pa 5 za nesto drugo itd, a ovako bi imao jedan VELIKI index.php file gde bi se na osnovu GET promenljivih uzimao odgovarajuci kod iz fajla.
Znaci ne znam sta mi vise odgovara. I kad vec pominjemo SEO, koji tip adrese je lakse prilagotiti za mod rewrite. Kontam da ako hocu da mi u adresi bude auto/11/kupe/audi/a8.php u adresi trebam da imam ove promenljive jel da?
[ ZaMpA @ 01.04.2006. 23:37 ] @
sasvim je moguce da te nisam razumeo ali:
ako recimo imash 5 tipova automobila, necesh valjda praviti 5 fajlova od kojih ce svaki obradjivati jedan tip kola??!!
na osnovu podataka iz pretrage (ako posetilac pretrazuje kola) generishesh MySql (ili vec koju db koristish)upit i prikazujesh rezultate....jednostavno
moze sve da ti se deshava na index.php tako shto na osnovu GET promenjivih includujesh razlicite fajlove (za pretragu,za bilo shta....za credits&contacts,whatever). To je, po meni ok reshenje.
[ SmilieBG @ 01.04.2006. 23:43 ] @
Pazi, index.php je samo ono sto korisnik vidi. Odnosno, u index-u je definisano 'sta-gde' stoji, dok ?action=... upravo ispunjava sve to. Cemu ovaj pristup? Pa recimo, da korisnik uvek ostaje na jednoj stranici - index.php, sto doprinosi (indirektno) sigurnosti sajta.
Recimo, ako je kontakt formular mail.php, svaki skript kiddie ce uspeti uz malo truda da posalje i mail, tj da zloupotrebi tu skriptu (a onda si na blacklist za par sati). Dok, ako to prikrijes kroz ?action=contact, onda je vec teze provaliti sta se desava iza 'zavese' :)
Druga stvar je izgled samog URL-a. Nije da ima neke razlike, ali recimo meni licno smeta kad URL ne moze da stane na pola A4 strane :)
Ne zaboravi, da ovaj pristup moze da utice na izmedju ostalog recimo statistike sajta (posto je jedini pozivani fajl index.php).
Dakle, bezbednost je jedino sto mi pada na pamet :) Licno, ne radim tako, vec posebni fajlovi, sa include. Mada, verujem da sa programerske strane, nema neke velike razlike.
Poz,
Sale
PS. za mod-rewrite ne znam :(
[ SmilieBG @ 01.04.2006. 23:45 ] @
Zampa - ne verujem da je na to mislio :) Naravno da ce za genericke funkcije imati jedinstvene fajlove. Ali, pitanje je, koliko sam ja razumeo:
Ako korisnik klikne na recimo 'kontakt', dal' da otvara kontakt.php ili da otvara index.php?action=kontakt
Poz,
Sale
[ SmilieBG @ 01.04.2006. 23:47 ] @
Btw, jedan odlican primer za ceo sajt u (bukvalno!) jednom fajlu je: KPlaylist.
Ovo nije reklama, posto je skripta besplatna, vec samo primer ;)
Poz,
Sale
[ ZaMpA @ 02.04.2006. 00:00 ] @
Citat: SmilieBG:
Druga stvar je izgled samog URL-a. Nije da ima neke razlike, ali recimo meni licno smeta kad URL ne moze da stane na pola A4 strane
Ne zaboravi, da ovaj pristup moze da utice na izmedju ostalog recimo statistike sajta (posto je jedini pozivani fajl index.php).
da to sa pola A4 strane nervira, pogotovo kad negde kopirash URL, ili josh gore diktirash nekom telefonom...
da, jedini pozivani fajl je index.php, ali ionako ti je sve tu, google ce pratiti linkove, indeksirece i ostale 'kvazi' strane. Kako to moze negativno da utice na statistiku?
[ flylord @ 02.04.2006. 00:01 ] @
ja radim sve preko jednog fajla, index.php, ali daleko od toga da je ceo site u jednom fajlu. U index.php je samo gomila if-va , ili jedan veliki switch-case i jos po nesto malo koda. Sve se ostalo includuje. Kad je u pitanju public deo, jako retko ce se desi da URL bude mnogo dugacak, naravno ako se sve lepo pravi. Sto se tice rewrite-a urlova, totalno je svejedno kako radis. Ja savrseno lako napravim SEO linkove. I jos na kraju svakog fajla dodam .html extenziju.
Razlog zasto ja tako pravim, iskreno ne znam ni sam :) Kad sam pocinjao, tako mi bilo lakse i lepse. A sa prakticne tacke, jedan od najvecih razloga je teza analiza skripte, kao i mogucnost da maltene kompletan site stavis van web strabla. Mozes da napravis da ti samo index.php stoji u web stablu, sve ostalo van. To ti dodatno povecava bezbednost.
[ ZaMpA @ 02.04.2006. 00:09 ] @
Kako pravish dobre SEO linkove?
ako nije top secret 
[ flylord @ 02.04.2006. 00:31 ] @
Imam smarty F-ju koja parsira svaki link
Code: <a href="{urlmodify url="index.php?show=items&item_id=2"}">
Ta F-ja jednostavno trazi paterne u urlu (reg exp, i sl) i onda jednostavno parsira url i pretvara ga u neki oblik koji mi treba. Npr
Code:
$url = preg_replace("~index\.php\?lid=([a-z][a-z])&show=(browse)~i", "\\1/browse.html", $url);
return $url;
nista komplikovano  Ako znas jednostavniji nacin reci
[ define @ 02.04.2006. 09:02 ] @
Sada smo se razumeli....
Bas ono sto sam mislio je na onom kplaylist sajtu i kao sto flylord govori.
Znaci jedna od prednosti je bezbednost.
Bas sam mislio da odradim na isti nacin, znaci sve u index file-u ide preko case-a i if-ova.
Vidis zaboravio sam da mogu samo da inkludujem fajlove :) na taj nacin mogu da odradim fakticki obe verzije sajta. Prvo uradim odvojeno file-ove i posle samo preko if komandi ubacim sve u index.php.
Ma ova verzija sa index-om odgovara jer mogu da filtriram banere, meni i jos neke stvari preko get komande iz adrese. Znaci ako je index.php?type=car ja stavim da tamo prikazuje samo banere koji imaju kod sebe podeseno za automobile, ili prikazujem meni za automobile...
Ako neko ima jos nesto na umu neka iznese, dok jos nisam poceo da radim :)
I jos nesto... da li je bolje da radim action ili akcija, i show ili prikazi.
Mislim na pretrazivace i na moguce google reklame.
[Ovu poruku je menjao define dana 02.04.2006. u 10:19 GMT+1]
[ ZaMpA @ 02.04.2006. 13:57 ] @
chek,chek sad sam zbunjen:
ako tvoja f-ja vraca izmenjeni url string u <a href=...> tag, kako onda browser ode na pravu (neizmenjen url) stranicu?
[ flylord @ 02.04.2006. 14:03 ] @
pa koristim i mod_rewrite  , naravno. To uvek moras koristisi u ovakvim slucajevima
[ define @ 02.04.2006. 14:09 ] @
Ima li odgovora?
[ Nemanja Avramović @ 02.04.2006. 14:14 ] @
Citat: define:I jos nesto... da li je bolje da radim action ili akcija, i show ili prikazi.
Mislim na pretrazivace i na moguce google reklame.
Ako ti je ceo sajt na nasem jeziku onda koristi akcija, prikazi, ...
[Ovu poruku je menjao JaHvram dana 02.04.2006. u 15:14 GMT+1]
[ ZaMpA @ 02.04.2006. 14:16 ] @
Stvarno moram da instaliram taj Apache...
a jel moze to nekako u IIS-u? pitam chisto iz radoznalosti....
[Ovu poruku je menjao ZaMpA dana 02.04.2006. u 15:19 GMT+1]
[ define @ 02.04.2006. 14:16 ] @
Ma razmisljao sam da uradim i englesku verziju ... (mozda)
no eto ako nema nikakve potrebe za engleskim recima onda ce biti tako
[ flylord @ 02.04.2006. 14:22 ] @
ne znam kako se radi rewrite URL-ova na IIS-u, bas nikad nisam radio sa njim
[ Nemanja Avramović @ 02.04.2006. 14:41 ] @
Ima iis_rewrite.dll za IIS server ali se placa... (Googlaj)
[ japan @ 02.04.2006. 14:56 ] @
Citat: define: Ma razmisljao sam da uradim i englesku verziju ... (mozda)
ako vec razmisljas o tome, radi u startu multilang sajt. nabolja varijanta ti je da u cookie ili u session stavis izabrani jezik i da u zavisnosti od toga inkludujes fajlove sa odgovarajucim nazivima.
npr. u fajlu serbian.php imas
Code:
$str_action = 'akcija';
$str_show = 'prikazi';
a u fajlu english.php
Code:
$str_action = 'akction';
$str_show = 'show';
i onda tamo gde treba da stampas, stampas sa
Code: echo $str_action;
sto ti kao rezultat daje rec na onom jeziku koji si odabrao.
ovim dajes sebi mogucnost prevodjenja sajta na bilo koji jezik, tako sto samo napises fajl language.php i inkludujes ga.
[Ovu poruku je menjao japan dana 02.04.2006. u 15:57 GMT+1]
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|