CodeIgniter 2.rész Az első weboldal

Ti kérdeztek, mi válaszolunk!
Ebben a cikkben összerakunk egy nagyon egyszerű weboldalt. A cikk lényege, hogy bemutassa a CodeIgniter alapműködését, így most nem fogunk model fájlokat alkalmazni, hiszen nem is fogunk adatbázishoz csatlakozni. Létrehozunk egy Controllert és egy view-t. Hozzunk létre az application/controllers könyvtárba egy Home.php nevű fájlt. Készítsünk egy Home osztályt, amit a CI_Controller szülőosztályból származtatunk és az osztály konstruktorában meghívjuk a CI_Controller konstruktorát, de mielőtt tovább megyünk, nézzük meg gyorsan mire is szolgál a konstruktor, illetve a destruktor. A konstruktor egy olyan speciális metódus, amely automatikusan meghívódik az objektum példányosítása során, és beállíthatja az objektum induló állapotát. A destruktor az objektum felszabadítása előtt hívódik meg. Azaz magyarul és nagyon egyszerűen a konstruktor egy osztályon belül minden függvény elején fut le, a destruktor pedig a függvény végén. A konstruktorban leggyakrabban libeket, illetve helpereket töltünk be vagy session-t vizsgálunk. Fontos megjegyezni, hogy az osztály nevét mindig nagy betűvel írjuk (Home).
class Home extends CI_Controller {
	
	public function __construct() {
		//meghívjuk a szülő osztály konstruktorát
		parent::__construct();
		
	}
	//létrehozzuk az index nevű függvényt ami egy name nevű paramétert vár
	public function index($name) {
		
		$data['nev'] = $name;
		
		$this->load->view('header_view');
		$this->load->view('content_view', $data);
		$this->load->view('footer_view');
		
	}
	
}
A fenti kódrészletben láthatjuk, hogy az index függvény vár egy name paramétert, amit aztán a $data[] tömbbe töltünk, majd ezt a tömböt átadjuk a content_view-nak, így lehet a nézetnek adatot átadni. 3 nézetet töltünk be a header_view tartalmazza az oldal fejlécét, a content_view a tartalmát, a footer_view pedig a láblécet. header_view.php:
<html lang="hu">
<head>
<title>Példa 1</title>
<meta charset="utf-8" />
</head>
<body>
content_view.php:
<h1>Üdv a weboldalamon, <?php echo $nev; ?></h1>
footer_view:
</body>
</html>

A CodeIgniter alapértelmezetten nem tartalmaz template kezelő rendszert, de könnyen beintegrálható akár a Smarty akár a Twig. Ha most megnyitjuk az example.hu/index.php/index/robi címet, akkor a weboldal kifogja írni, hogy: Üdv a weboldalamon, robi. Ha azt szeretnénk, hogy az url-ben ne legyen benne az index.php, akkor be kell állítani azt, hogy a webszerver minden kérést az index.php-ra irányítson. Ezt a .htaccess fájlban tehetjük meg:
<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>