Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  5 1460
Er det noen her som kan forklare relativt detaljert hvorfor og hvordan bootstrap fungerer?

Har funnet en side som forklarer og viser, men de gir mer kode enn de forklarer hensikt og virkemåte. Antakeligvis fordi det er et litt høyere nivå enn hva jeg er på, men jeg er nysjerrig..

I hvilke typer prosjekter er det lurt å bruke bootstrap?
Lenken din funker ikke, for meg i hvert fall.
Sitat av reaVen Vis innlegg
Lenken din funker ikke, for meg i hvert fall.
Vis hele sitatet...
Ditto, men google cache'n funker fortsatt...

Kode

http://webcache.googleusercontent.com/search?q=cache:http://www.jigsawboys.com/2009/09/17/how-to-bootstrap-php-code/
Bootstrap bruker du i prosjekter hvor du ønsker å ha en MVC-struktur. Gjerne sammen med ett ferdig MVC-rammeverk, som f.eks. Zend, CodeIgniter, Aptana osv.
Det brukes som nevnt over når man skriver kode basert på klasser eller en annen kodestruktur/rammeverk (MVC, f. eks).

Et MVC-rammeverk skiller mellom logikk, modeller og view/utseende (Model, View, Controller). Modeller og kontrollere er gjerne skrevet som klasser, som ikke vil bli kjørt med mindre man kaller de opp. Det er dette man bruker en bootstrapper til. Man bruker gjerne URL-feltet til å bestemme en kontroller. F.eks. index.php/home. Da må man ha en index-fil som laster inn et objekt assosiert med query-stringen home.

Selv koder jeg alltid på et hjemmesnekra rammeverk der en Controller kan se slik ut:

Kode

<?php
class HomeController extends AppController {
	
	public function main($args=false) {
		
		// Annen kode her. hent info fra modeller/databaser etc.
		
		$this->view('HeaderView');
		$this->view('HomeView');
		$this->view('FooterView');
	}
}
?>
Problemet er at koden over ikke vil gjøre noen verdens ting om det ikke blir opprettet et objekt av den, og at main-funksjonen blir kalt opp. Derfor må vi ha en bootstrapper (gjerne inkludert i index-filen) som kan gjøre det nevnte.

Kode

<?php
$controllerToRun = 'HomeController'; // hent fra URL-feltet
$methodToRun = 'main'; // hent fra URL-feltet
$methodArguments = array(); // hent fra URL-feltet

$controller = new $controllerToRun;

if ( method_exists($controller, $methodToRun) ) {	
	call_user_func_array(array($controller, $methodToRun), $methodArguments);
}
?>
Håper det nå er litt klarere hva en bootstrapper er