yeahz Posted March 23, 2009 Report Share Posted March 23, 2009 Kā jūs ieteiktu veidot webu, no switchiem vai visu laiku taisīt jaunus *.php failus? Quote Link to comment Share on other sites More sharing options...
zinatnieks Posted March 23, 2009 Report Share Posted March 23, 2009 Taisot visu lapu vienā failā un sabāžot tur pilnu ar switchiem tev ātri vien viņa piedirsīsies pilna un nepārskatāma. Quote Link to comment Share on other sites More sharing options...
Mr.Key Posted March 23, 2009 Report Share Posted March 23, 2009 es parasti daru tā - index.php, kas pēc urļa ietver attiecīgo moduļa failu, kurš ar switchiem inklūdo attiecīgo php failu kādai noteiktai lapai.. sanāk pārskatāmi, viegli saprast, kas notiekās un bezgala ērti. Quote Link to comment Share on other sites More sharing options...
codez Posted March 23, 2009 Report Share Posted March 23, 2009 Es daru tā: domains.com/pirma_dalja/naakamaa_dalja Viss ar htaccess tiek laists caur index.php failu, kurā tiek ielādēta kodola klase, kura apstrādā urli, paņem pirmo daļu no urļa un pēc tās izvēlās kontrolieri, kontrolieris savukārt, ja nav norādīts savādāk, automātiski ielādē kontrolierim piederīgo templeitu un, ja norādīts parent kontrolieris, tad isauc to, kurš savukārt pirmā kontroliera uzģenerēto HTML iesprauž savā templeitā, kurš parasti ir lapas pamattempleits. Tātad, ja es gribu izveidot jaunu sadaļu, tad man ir jāizveido attiecīgi sadaļas mape ar kontrolieri un defaulto templeitu, nekur nav jāraksta includes vai jāpapildina sviči. Quote Link to comment Share on other sites More sharing options...
yeahz Posted March 23, 2009 Author Report Share Posted March 23, 2009 Ja jau par šo visu, tad pie reizes: Kas viņam te nepatīk? Pirmo reizi man kaut kas šitāds iznāk ārā ja ir ieslēgts error_reporting(E_ALL);. 6. līnija switch ($_GET['page']) { Notice: Undefined index: page in ...index.php on line 6 Quote Link to comment Share on other sites More sharing options...
bubu Posted March 23, 2009 Report Share Posted March 23, 2009 Tas nozīmē, ka $_GET asociatīvais masīvs nesatur tādu elementu ar atslēgu "page". Vai citiem vārdiem - tev URL query daļā nav norādīta "page" vērtība. Quote Link to comment Share on other sites More sharing options...
Web Developer Posted March 23, 2009 Report Share Posted March 23, 2009 yeahz - tu esi uzķēris vilni - ja jau reiz mācies programmēt uz php, tad mācies to ar error_reporting(E_ALL) vai pat ar vēl plašāku error reportingu, savādāk nav jēgas. Attiecībā uz tēmu: include un switchu lietošana, protams, ir diezgan primitīvs risinājums, bet teiksim tā - diezvai ir jēgas likt nopietnus dziļus debeskrāpja cienīgus pamatus lauka atejai. Skatās pēc vajadzības. Quote Link to comment Share on other sites More sharing options...
yeahz Posted March 23, 2009 Author Report Share Posted March 23, 2009 (edited) Sapratu, bet kā tad lai izveido kodu, tā lai rādītos defaulta saturs? Nu lai ieejot vienkārši index.php ir šis kods: default: echo "kaut kas"; break; un bez errora. Edited March 23, 2009 by yeahz Quote Link to comment Share on other sites More sharing options...
Web Developer Posted March 23, 2009 Report Share Posted March 23, 2009 Validē globālos ienākošos mainīgos. Neesošus mainīgos definē, pirms izmanto. $request = new Request(); $request->validate($_GET); if ($request->getGetVar("page")!="") { @include $request->getGetVar("page"); } Quote Link to comment Share on other sites More sharing options...
xPtv45z Posted March 23, 2009 Report Share Posted March 23, 2009 Klašu veidošana jau laikam nav debesskrāpja pamati lauku atejai? :) Vienkāršāk to var.. $page=isset($_GET['page'])?$_GET['page']:null; switch($page){... Quote Link to comment Share on other sites More sharing options...
Kavacky Posted March 23, 2009 Report Share Posted March 23, 2009 Vot es arī brīnos, nafig kaut kam tik primitīvam, kā POST/GET mainīgie, vajag savu megaklasi. Nu uztasīt stripslashes, ja ir ieslēgts magic_quotes, ir maksimums, ko vajag darīt. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.