Official Handbook:
http://ellislab.com/codeigniter/user-guide/index.html
URL:
example.com/class/function/ID
Removing the index.php file
You can easily remove this file by using a .htaccess file with some simple rules. Here is an example of such a file, using the "negative" method in which everything is redirected except the specified items:
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
In the above example, any HTTP request other than those for index.php, images, and robots.txt is treated as a request for your index.php file.
Controllers:
functions
example.com/index.php/blog/index/
<?php
class Blog extends CI_Controller {
public function index() {
echo 'Hello World!';
}
public function comments() {
echo 'Look at this!';
}
}
?>
Passing URI Segments to your Functions
example.com/index.php/products/shoes/sandals/123
Your function will be passed URI segments 3 and 4 ("sandals" and "123"):
<?php
class Products extends CI_Controller {
public function shoes($sandals, $id) {
echo $sandals;
echo $id;
}
}
?>
Defining a Default Controller(application/config/routes.php)
$route['default_controller'] = 'Blog';
Organizing Your Controllers into Sub-folders
example.com/index.php/products/shoes/show/123
//products Sub-folders name
To call the above controller your URI will look something like this:
example.com/index.php/products/shoes/show/123
View:
Loading a View
<?php
class Blog extends CI_Controller {
function index() {
$data = array (
'title' => 'My Title',
'heading' => 'My Heading',
'message' => 'My Message'
);
$this->load->view('blogview', $data); //'product/blogview' sub folder
}
}
?>
views page //blogview.php
<html>
<head>
<title><?php echo $title;?></title>
</head>
<body>
<h1><?php echo $heading;?></h1>
</body>
</html>
Creating Loops //multi dimensional arrays
<?php
class Blog extends CI_Controller {
function index() {
$data['todo_list'] = array (
'Clean House',
'Call Mom',
'Run Errands'
);
$data['title'] = "My Real Title";
$data['heading'] = "My Real Heading";
$this->load->view('blogview', $data);
}
}
?>
view file
<html>
<head>
<title><?php echo $title;?></title>
</head>
<body>
<h1><?php echo $heading;?></h1>
<h3>My Todo List</h3>
<ul>
<?php foreach ($todo_list as $item):?>
<li><?php echo $item;?></li>
<?php endforeach;?>
</ul>
</body>
</html>