[ revlo @ 13.02.2018. 17:05 ] @
Evo malo korisnog koda koji sam sad obradio, sve sugestije su dobrodošle, inače nameravam da ovaj kod koristim u svojim projektima. Nije bog zna šta, ali dobra fora. Prvo, koja je ideja; Ideja mi je da napravim dobar cms ili framework i spasim buduće kreatore da razmisljaju u kom folderu im je sajt, koje varijable su dostupne, koje nisu i glavno pitanje, Sta ako korisnik unese neki cudan url, ne zelimo izvestaj o gresci, vec sve prosledjujemo u index.php Zato sam koristio ove globalne varijable i sredio htaccess koji moze da razume svaki namerno pogresen url. Dakle: .htaccess: Code: Options All -Indexes <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{SCRIPT_FILENAME} !-d RewriteCond %{SCRIPT_FILENAME} !-f RewriteRule ^(.*)$ index.php?path=$1 </IfModule> Napomena, stavio sam -Indexes jer ne želim da mi se neko švrćka po folderima i fajlovima na sajtu. A u folder koji zelimo da predstavimo publici, smestimo .htaccess sa +Indexes. Ovo je PHP kod: Code: <?php function Vars() { $folder = $_SERVER['SCRIPT_NAME']; $folder = explode ('/', $folder); $folder = array_slice($folder, 0, -1); $folder = implode('/', $folder); $folder = $folder.'/'; $lf = strlen($folder); $path = $_SERVER['REQUEST_URI']; $path = substr($path, $lf); $path = explode('/', $path); $vars[0] = $folder; $vars[1] = $path; return $vars; } // korišćenje $vars = Vars(); $root = $vars[0]; $var1 = $vars[1][0]; $var2 = isset($vars[1][1]) ? $vars[1][1] : ''; $var3 = isset($vars[1][2]) ? $vars[1][2] : ''; $var4 = isset($vars[1][3]) ? $vars[1][3] : ''; echo "Root folder: ".$root."<br>"; echo "Varijabla 1: ".$var1."<br>"; echo "Varijabla 2: ".$var2."<br>"; echo "Varijabla 3: ".$var3."<br>"; echo "Varijabla 4: ".$var4."<br>"; echo "itd..."; ?> Moguće je ugraditi kod u korisnu klasu, ali ono sto nisam pomenuo, ovaj kod mora biti prisutan u index.php, da li sa require ili direktno, sve jedno je. Dalji razvoj projekta podrazumeva da sve ubacujete u index.php i nema drugih headera i posebnih fajlova. I da, root folder se automatski namesta, ova dva fajla mozete staviti bilo gde u podfolder ili root, uvek varijable i root imaju istu vrednost, tj, onu koja odgovara. ### Ono što je bitno, spreman sam za komentare i poboljsanja ### |