Kontrolery
14 July 2008
Comments
Cele
- Poznanie budowy i sposobu działania kontrolerów - podstawowego elementu CIKontroler to klasa umieszczona w pliku o nazwie takiej jak nazwa klasy, umieszczonym w "application/controllers" Nazwa zawierać można znaki alfanumeryczne (cyfry i litery) oraz znaki podkreślenia. Nazwa klasy jest używana w linkach URL do jej wywoływania (co już robiliśmy wcześniej). Przykładowo link:
http://localhost/html/ci/index.php/form
Wywoła klasę o nazwie "Form". Klasa ta powinna znajdować się w pliku "form.php". Nazwa pliku musi zaczynać się z małej litery, nazwa klasy - z dużej. Wykorzystany przez nas wcześniej kontroler wyglądał następująco:
<?php
class Test extends Controller
{
function index()
{
echo 'Test CI';
}
}
?>
class NAZWAKLASY extends Controller
Deklaruje nam klasę o podanej nazwie. Fraza extends Controller oznacza że nasza klasa dziedziczy (dostaje) wszystkie metody klasy "Controller". Szczegóły są tu nie potrzebne. Po prostu klażda klasa kontroler musi to mieć.
function index() { echo 'Test CI'; }
<?php
class Test extends Controller
{
function index()
{
echo 'Test CI';
}
function dodatek()
{
echo 'Dodatkowy tekst';
}
}
?>
Prywatne metody, niedostępne poprzez URL tworzy się zaczynając ich nazwę od znaku podkreślenia:
<?php
function _utility()
{
// jakiś kod
}
Domyślny kontroler jaki zostanie wywołany przy pustym URLu (sam index.php) ustawić można w application/config/routes.php. Mamy tam: $route['default_controller'] = "welcome"; gdzie wartość (tutaj "welcome") oznacza nazwę domyślnie wywoływanego kontrolera.
Konstruktory tworzy się normalnie z tym że trzeba dodać jedną linijkę kodu. Dla PHP4:
<?php
class Blog extends Controller {
// konstruktor to metoda o nazwie jak nazwa klasy
function Blog()
{
parent::Controller();
}
}
?>
<?php
class Blog extends Controller {
function __construct()
{
parent::Controller();
}
}
?>
RkBlog
Comment article