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>

A szerzőről

Fodor Balázs

Webfejlesztő. Minden érdekel ami IT, ezenkívül videókat készítek és vágok, speciális effekteket készítek, képeket szerkesztek, és nagyon érdekel az IT Security.

Kapcsolódó bejegyzések

Válaszolj

Az e-mail címed nem publikáljuk.