Sunteți pe pagina 1din 25

Introduction To

CodeIgniter
Prerequisite

OOP – Object Oriented


Programming
PHP
MySQL
Index
 Introduction
 Evolution Of Web Development
 Basic Idea Of Web Framework
 Why Framework not Scratch?
 MVC ( Model View Controller) Architecture
 What is CodeIgniter ????
 Installation of CodeIgniter
 Application Flow of CodeIgniter
 CodeIgniter URL
 Controllers
 Views
 Models
 CodeIgniter Libraries
 Helpers
 A Basic Application Development Of Codeigniter
 Application Flow
 Q/A
 Reference
Evolution of Web
Development

How you first started building


websites.
Evolution of Web
Development

How you’re building websites


now.
Evolution of Web
Development

How you build websites with a


framework
Basic Idea Of Web
Framework
A web application framework

 Is a Software framework
 Designed to support the development of

 Dynamic websites
 Web applications
 Web services

 Aims to alleviate the overhead associated with common activities used


in Web development.

 Libraries for database access


 Templating frameworks
 Session management
 Often promote code reuse
 Many more …….
Why Framework Not
Scratch ?
 Key Factors of a Development
◦ Interface Design
◦ Business Logic
◦ Database Manipulation
◦ User Access Control
 Advantage of Framework
◦ Templating
◦ Provide Solutions to Common problems
◦ Abstract Levels of functionality
◦ Make Rapid Development Easier
 Disadvantage of Scratch Development
◦ Make your own Abstract Layer
◦ Solve Common Problems Yourself
◦ The more Typing Speed the more faster
MVC Architecture
 Separates User Interface From Business Logic
 Model - Encapsulates core application data and functionality Business
Logic.
 View - obtains data from the model and presents it to the user.
 Controller - receives and translates input to requests on the model or
the view

Figure : 01
What is CodeIgniter ???
 An Open Source Web Application Framework
 Nearly Zero Configuration
 MVC ( Model View Controller ) Architecture
 Multiple DB (Database) support
 DB Objects
 Templating
 Caching
 Modules
 Validation
 Rich Sets of Libraries for Commonly Needed Tasks
 Has a Clear, Thorough documentation
Installation of CodeIgniter
 Requirments
 Web Server - Download & Install Apache
 PHP – 4.3.2 or Higher
 Database – MySQL ( support for other DB exists )

 Installation
 Download the latest version from www.codeigniter.com and unzip into your web
root directory.
 Open “application/config/config.php” and change base_url value to base url. For
example: http://localhost/myci/
 To Use Database open “application/config/database.php” and change necessary
values. Usually you have to change: ‘hostname’, ‘username’, ‘password’, ‘datbase’.
 Start Your Web Server and Database Server and go to http://localhot/myci
Application Flow Of
CodeIgniter

Figure : 2 [ Application Flow of CodeIgniter]


CodeIgniter URL
URL in CodeIgniter is Segment Based.
www.your-site.com/news/article/my_article

Segments in a URI
www.your-site.com/class/function/ID

CodeIgniter Optionally Supports Query String URL

www.your-
site.com/index.php?c=news&m=article&ID=345
Controllers
A Class file resides under “application/controllers”
www.your-site.com/index.php/first

<?php

class First extends Controller{

function First() {
parent::Controller();
}

function index() {
echo “<h1> Hello CUET !! </h1> “;
}
}

?>

// Output Will be “Hello CUET!!”

• Note:
• Class names must start with an Uppercase Letter.
• In case of “constructor” you must use “parent::Controller();”
Controllers
In This Particular Code

www.your-site.com/index.php/first/bdosdn/world

<?php

class First extends Controller{

function index() {
echo “<h1> Hello CUET !! </h1> “;
}
function bdosdn( $location ) {
echo “<h2> Hello $location !! </h2>”;
}
}

?>
// Output Will be “Hello world !!”

• Note:
• The ‘Index’ Function always loads by default. Unless there is a second
segment in the URL
VIEWS
 A Webpage or A page Fragment
 Should be placed under “application/views”
 Never Called Directly

web_root/myci/system/application/views/myview.php

<html>
<title> My First CodeIgniter Project</title>
<body>
<h1> Welcome ALL … To My .. ::: First Project ::: .
. . </h1>
</body>
</html>

16
VIEWS
Calling a VIEW from Controller
$this->load->view(‘myview’);

Data Passing to a VIEW from Controller

function index() {
$var = array(
‘full_name’ => ‘Amzad Hossain’,
‘email’ => ‘tohi1000@yahoo.com’
);
$this->load->view(‘myview’, $var);
}

<html>
<title> ..::Personal Info::.. </title>
<body>
Full Name : <?php echo $full_name;?> <br />
E-mail : <?=email;?> <br />
</body>
</html>
VIEWS
There are 3 mechanism that can be utilize to show Dynamic Data inside a
VIEW File
- Pure PHP
- PHP’s Alternative Syntax
- CodeIgniter’s Template Engine

<!-- PHP’s Alternative Syntax -->

<?php if( $for_this == true ):?>


<h1> For This </h1>
<?php elseif( $for_that == true ): ?>
<h1> For That </h1>
<?php else: ?>
<h1> What </h1>
<?php endif; ?>

• Note:
• There are other alternative syntax ‘for’, ‘foreach’, ‘while’
Models
Designed to work with Information of Database
Models Should be placed Under “application/models/”
<?php

class Mymodel extend Model{


function Mymodel() {
parent::Model();
}
function get_info() {
$query = $this->db->get(‘name’, 10);
/*Using ActiveRecord*/
return $query->result();
}
}
?>

Loading a Model inside a Controller

$this->load->model(‘mymodel’);
$data = $this->mymodel->get_info();
CodeIgniter Libraries
Special Purpose Classes

Benchmarking Database Encryption Calendaring

FTP Table File Uploading Email

Image Manipulation Pagination Input and Security HTML

Trackback Parser Session Template

Unit Testing User Agent URI Validation

Loading CodeIgniter Library


$this->load->library(‘database’);
CodeIgniter Libraries
Database Library
Abstract Database Class support traditional structures and Active Record Pattern.

General Approach
function index() {

$this->load->library(‘database’);
$rslt = $this->db->query(“select first_name from user_name”);
foreach( $rslt->result() as $row_data)
echo $row_data->first_name . “<br />”;

Active Record Pattern


function index() {

$this->load->library(‘database’);
$this->db->select(“first_name”);
$rslt = $this->db->get(“user_name”);
foreach( $rslt->result() as $row_data)
echo $row_data->first_name . “<br />”;

}
Helpers
Simply a collection of functions in a particular category.
Array Date File HTML Smiley Text

URL Cookie Download Form Security String

Directory E-mail Inflector XML Parser Typography

Loading A Helper Inside a Controller


$this->load->helper(‘helper_name’);

$this->load->helper(array(‘form’,’url’) );
Helpers
Form Helper
 form_open()
 form_open_multipart()
 form_input()
 form_textarea()
 form_checkbox()
 form_submit()
 form_close()

URL Helper
 site_url()
 base_url()
 anchor()
 anchor_popup()
 mailto()
A Personal Blog Using CI
Questions???

S-ar putea să vă placă și