CodeIgniter Test
CodeIgniter ist ein schlankes PHP Framework das die Entwicklung webbasierter Anwendungen vereinfachen soll.
"Designed to enable, not overwhelm, Code Igniter is a powerful PHP framework with a very small footprint, built for PHP coders who need a simple and elegant toolkit to create full-featured web applications."

Zur CodeIgniter Website | CodeIgniter User Guide
Beispiel - Eigene Klassen und Funktionen verwenden:
In der Grundkonfiguration sind die CodeIgniter URLs folgendermaßen aufgebaut:
www.your-site.com/class/function/ //Beispiele //die Klasse Home aufrufen www.your-site.com/home/ //die Klasse Info aufrufen www.your-site.com/info/ //die Klasse Info und die Funktion Kontakt aufrufen www.your-site.com/info/kontakt/
Wir möchten jedoch alle Seiten aus einer Klasse und einer Funktionen generieren. Dank des URI Routings in Code Igniter können wir dies folgendermaßen erreichen:
Wichtig ist die richtige Base Site URL:
CodeIgniter/system/application/config/config.php
/* |-------------------------------------------------------------------------- | Base Site URL |-------------------------------------------------------------------------- |URL to your Code Igniter root. Typically this will be your base URL, |WITH a trailing slash: |http://www.your-site.com/ */ $config['base_url']='http://127.0.0.1/CodeIgniterTest/';
CodeIgniter/system/application/config/routes.php
/* This route indicates which controller class should be loaded if the URI contains no data. */ $route['default_controller'] = "main"; // Define your own routes below ------------------ // Wir routen 2 Parameter auf die Klasse Main // und die Funktion Page: $route[':any'] = 'main/page'; $route[':any/:any'] = 'main/page';
Eigene Klassen und Funktionen
Unsere Funktion htmlMenu erzeugt ein Menü mit zwei Ebenen. Wir benutzen hierfür ein Array ($site_menu) mit den Menü-Definitionen und die Parameter der URL (z.B. www.your-site.com/info/kontakt/).
Die Funktion htmlHeadline liefert die entsprechende Überschrift, und
unsere Klasse Content erzeugt den passenden Seiteninhalt.
Diese Funktionen und Klassen arbeiten unabhängig, können aber einfach in CodeIgniter integriert werden, ohne in die eigentliche CodeIgniter-Strucktur einzugreifen.
Wir erstellen folgenden Controller unter:
CodeIgniter/system/application/controllers/main.php
<?php
class Main extends Controller {
function Main(){
parent::Controller();
$this->load->library('parser');
$this->load->helper('url');
//////////////////////////////////////////////
//eigene Funktionen und Klassen einbinden//
$this->load->scripts('helper/dfile_html.php');
$this->load->scripts('class/dfile_content.php');
}
function index(){
//Dies ist die Startseite
//wir rufen die page() Funktion auf:
$this->page();
}
function page(){
//$site_menu array laden//
include(APPPATH.'scripts/conf/site_conf.php');
//////////////////////////////////////////////
$path=base_url();
//URI-Parameter - www.your-site.com/segment(1)/segment(2)/
$pid= $this->uri->segment(1);
$pid1= $this->uri->segment(2);
//Startseite - Home//
if($pid==''){$pid='home';}
//Menü erzeugen mit Hilfe einer eigenen Funktion//
$data['MENU']= htmlMenu($path,$pid,$pid1,$site_menu,$submenu=true);
//Überschrift erzeugen mit Hilfe einer eigenen Funktion///
$data['HEADLINE']= htmlHeadline($path,$pid,$pid1,$site_menu);
//////////////////////////////////////////////
//Content laden mit Hilfe einer eigenen Klasse//
$content= new Content();
$content->getContent($path,$pid,$pid1,$site_menu);
$content=$content->returnContent();
//kein Content geladen? show_404 - CodeIgniter Funktion//
if($content==''){
show_404('Content Not Found: '.$this->uri->uri_string());
}
else{
$data['CONTENT']= $content;
}
//////////////////////////////////////////////
//Seitentitel//
$data['DOCTITLE']= 'CodeIgniter Test';
//Seite ausgeben//
$this->parser->parse('main',$data);
}
}
?>
Wir erstellen ein Template unter: CodeIgniter/system/application/views/main.php
<html>
<head>
<title>{DOCTITLE}</title>
</head>
<body>
{MENU}
{HEADLINE}
<div id="content">{CONTENT}</div>
</body>
</html>
Eine einfache Einfürung in die Arbeitsweise von CodeIgniter liefern die
CodeIgniter Videos
16.08.2006 / Programmierung