Gå til innhold

[guide] Hvordan gå fram på nytt projekt (forslag)


Anbefalte innlegg

Tenkte bare jeg skulle skrive litt om hva som er lurt å tenkte på dersom man skal starte på ett nytt prosjekt. Dette handler ikke om kodestuktur eller kode hjelp, men litt om egne erfaringer innen hva som kommer hvor. Selv om det er litt koder innimellom. Kom gjerne med innvendinger, eller forslag til endringer, eventuelt kodesnutter!

 

Punkt 1. Initialisering:

1. Dersom du ønsker å ha en timer på hvor lang tid scriptet bruker på å loade, startes det hele med en timestart variabel. (f.eks: $timestart = microtime(true);).

2. Det neste er å definere en konstant som forteller at inkluderte filer skal "fungere": define('IN_MYPROJECT', true); Kommer tilbake til dette litt senere.

3. Så defineres en egen error handler: ini_set('error_reporting', E_ALL);

4. error handleren.

5. Deretter kan andre defineringer du måtte ønske bruke foregå, som f.eks: date_default_timezone_set('Europe/Oslo');

6. Dersom du ønsker at siden ikke skal ha www kan du benytte en kode som denne:

Klikk for å se/fjerne innholdet nedenfor

if (strpos($_SERVER['HTTP_HOST'], 'www.') === 0)

{

$host = preg_replace('#^www.#i', '$1', $_SERVER['HTTP_HOST']);

$host = $host.$_SERVER['REQUEST_URI'];

if (isset($_SERVER['HTTPS']))

header('Location: https://'.$host);

else

header('Location: http://'.$host);

exit();

}

7. Koble til databasen.

8. Sjekke eventuell ut/inlogging.

9. Sette opp tellere, eventuelt online users, referers osv.

 

Punkt 2. Headers og Session:

1. Definere tegnset å eventuelt andre headers. f.eks: header("Content-Type: text/html;charset=utf-8");

2. Start session: session_start();

 

Punkt 3. Siden

1. Inkluder eventuelle undersider så title og lignende tagger kan bli populert riktig (Hver underside kan således få unik tittel)

2. Print ut resultatet av html'en

3. Dersom error hanlderen skal vise eventuelle feil, eller databaseklassen skal vise spørringer passer det fint å ha dette her.

4. Om du skulle ha en Load time på siden, kan denne hent og printes ut.

4. Avslutt med å koble fra databasen.

 

Punkt 4. Inkluderte filer:

1. Inkuluderte filer bør ligge utenfor web mappen, å inneholde en linje som denne helt i begynnelsen:

if (!defined('IN_MYPROJECT')) { feil håndtering, obs: pass også på å koble fra databasen. } som definert i pt. 1.2

2. Legg inn variabler for title å andre tagger, script etc som denne siden skal kunne benytte seg av. ref. pt. 3.1

3. Legg all html koden i en variabel. Denne kan da bli brukt av pt 3.2

 

Og igjen, konstruktiv kritikk mottas med takk! =D

 

Edit: Noen leifer, sikkert flere ;)

Endret av pulse
Lenke til kommentar
Videoannonse
Annonse

Takker loathsome!

Og her et eksempel på en liten sidehåndtering: Istedetfor ?page=subpage kan man bruke /index.php/subpage/ med en kode som dette:

if (isset($_SERVER['PATH_INFO']))
{
$page = htmlentities(trim($_SERVER['PATH_INFO'], "/"));
if ($page != '')
	$page = explode('/', $page);
else
	$page[0] = 'index';
}
else
$page[0] = 'index';

Endret av pulse
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...