Jump to content
php.lv forumi

Kā labāk - jauns php fails vai switch?


Recommended Posts

Posted

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.

Posted

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.

Posted

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
Posted

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.

Posted

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.

Posted (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 by yeahz
Posted

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");
}

Posted

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){...

Posted

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.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...