SlideShare a Scribd company logo
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)

More Related Content

What's hot (20)

PDF
Clear php reference
Damien Seguy
 
PDF
PHP 5.3 Overview
jsmith92
 
PDF
Perl6 grammars
Andrew Shitov
 
PPT
P H P Part I I, By Kian
phelios
 
PDF
Real World Dependency Injection - oscon13
Stephan Hochdörfer
 
PDF
Your Business. Your Language. Your Code - dpc13
Stephan Hochdörfer
 
PDF
Functional Structures in PHP
Marcello Duarte
 
PPTX
New in php 7
Vic Metcalfe
 
PDF
TDC2016SP - Trilha Developing for Business
tdc-globalcode
 
PDF
Hardcore URL Routing for WordPress - WordCamp Atlanta 2014
Mike Schinkel
 
PDF
Developing for Business
Antonio Spinelli
 
PPT
Hardcore URL Routing for WordPress - WordCamp Atlanta 2014 (PPT)
Mike Schinkel
 
PPTX
Сергей Иващенко - Meet Magento Ukraine - Цены в Magento 2
Atwix
 
PDF
PHPUnit Episode iv.iii: Return of the tests
Michelangelo van Dam
 
PDF
Semantic Web & TYPO3
André Wuttig
 
PDF
Refactoring using Codeception
Jeroen van Dijk
 
PDF
Testing TYPO3 Applications
André Wuttig
 
PPTX
Zero to SOLID
Vic Metcalfe
 
PDF
Symfony without the framework
GOG.com dev team
 
PPTX
Cakefest 2010: API Development
Andrew Curioso
 
Clear php reference
Damien Seguy
 
PHP 5.3 Overview
jsmith92
 
Perl6 grammars
Andrew Shitov
 
P H P Part I I, By Kian
phelios
 
Real World Dependency Injection - oscon13
Stephan Hochdörfer
 
Your Business. Your Language. Your Code - dpc13
Stephan Hochdörfer
 
Functional Structures in PHP
Marcello Duarte
 
New in php 7
Vic Metcalfe
 
TDC2016SP - Trilha Developing for Business
tdc-globalcode
 
Hardcore URL Routing for WordPress - WordCamp Atlanta 2014
Mike Schinkel
 
Developing for Business
Antonio Spinelli
 
Hardcore URL Routing for WordPress - WordCamp Atlanta 2014 (PPT)
Mike Schinkel
 
Сергей Иващенко - Meet Magento Ukraine - Цены в Magento 2
Atwix
 
PHPUnit Episode iv.iii: Return of the tests
Michelangelo van Dam
 
Semantic Web & TYPO3
André Wuttig
 
Refactoring using Codeception
Jeroen van Dijk
 
Testing TYPO3 Applications
André Wuttig
 
Zero to SOLID
Vic Metcalfe
 
Symfony without the framework
GOG.com dev team
 
Cakefest 2010: API Development
Andrew Curioso
 

Viewers also liked (9)

PDF
How To Build A Website And Stay Sane
Jonathan Oxer
 
PDF
Scaling a Web Site - OSCON Tutorial
duleepa
 
PPT
Y!7 Simple Scalability
steveathon
 
PDF
Large Scale PHP
Jonathan Oxer
 
PDF
Scaling LAMP doesn't have to suck
Stephen Corona
 
PPTX
Memcached vs redis
qianshi
 
PPTX
Php 7 hhvm and co
Pierre Joye
 
PPT
Large-scale projects development (scaling LAMP)
Alexey Rybak
 
PPTX
PHP Performance with APC + Memcached
Ford AntiTrust
 
How To Build A Website And Stay Sane
Jonathan Oxer
 
Scaling a Web Site - OSCON Tutorial
duleepa
 
Y!7 Simple Scalability
steveathon
 
Large Scale PHP
Jonathan Oxer
 
Scaling LAMP doesn't have to suck
Stephen Corona
 
Memcached vs redis
qianshi
 
Php 7 hhvm and co
Pierre Joye
 
Large-scale projects development (scaling LAMP)
Alexey Rybak
 
PHP Performance with APC + Memcached
Ford AntiTrust
 
Ad

Similar to Introduction to CodeIgniter (RefreshAugusta, 20 May 2009) (20)

PDF
Intro To Mvc Development In Php
funkatron
 
PPT
Php frameworks
Anil Kumar Panigrahi
 
PPTX
I Love codeigniter, You?
إسماعيل عاشور
 
PPT
Introduction To Code Igniter
Amzad Hossain
 
PPT
Writing Friendly libraries for CodeIgniter
CodeIgniter Conference
 
PDF
Introduction To CodeIgniter
Muhammad Hafiz Hasan
 
PPTX
5 Reasons To Love CodeIgniter
nicdev
 
ODP
Codegnitorppt
sreedath c g
 
PDF
Dealing with Legacy PHP Applications
Clinton Dreisbach
 
PDF
The Origin of Lithium
Nate Abele
 
ODP
State Machines to State of the Art
Rowan Merewood
 
PDF
Dealing With Legacy PHP Applications
Viget Labs
 
PDF
Object Oriented Programming with PHP 5 - More OOP
Wildan Maulana
 
PPT
Os Nixon
oscon2007
 
PPT
Framework
Nguyen Linh
 
PPT
What's New in ZF 1.10
Ralph Schindler
 
PPT
Hanoi php day 2008 - 01.pham cong dinh - how.to.build.your.own.framework
Nguyen Duc Phu
 
PPT
How to learn to build your own PHP framework
Dinh Pham
 
ODP
CodeIgniter PHP MVC Framework
Bo-Yi Wu
 
ODP
Introduction to Zend Framework
Michelangelo van Dam
 
Intro To Mvc Development In Php
funkatron
 
Php frameworks
Anil Kumar Panigrahi
 
I Love codeigniter, You?
إسماعيل عاشور
 
Introduction To Code Igniter
Amzad Hossain
 
Writing Friendly libraries for CodeIgniter
CodeIgniter Conference
 
Introduction To CodeIgniter
Muhammad Hafiz Hasan
 
5 Reasons To Love CodeIgniter
nicdev
 
Codegnitorppt
sreedath c g
 
Dealing with Legacy PHP Applications
Clinton Dreisbach
 
The Origin of Lithium
Nate Abele
 
State Machines to State of the Art
Rowan Merewood
 
Dealing With Legacy PHP Applications
Viget Labs
 
Object Oriented Programming with PHP 5 - More OOP
Wildan Maulana
 
Os Nixon
oscon2007
 
Framework
Nguyen Linh
 
What's New in ZF 1.10
Ralph Schindler
 
Hanoi php day 2008 - 01.pham cong dinh - how.to.build.your.own.framework
Nguyen Duc Phu
 
How to learn to build your own PHP framework
Dinh Pham
 
CodeIgniter PHP MVC Framework
Bo-Yi Wu
 
Introduction to Zend Framework
Michelangelo van Dam
 
Ad

Recently uploaded (20)

PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PDF
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
PDF
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PDF
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PDF
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 

Editor's Notes

  • #3: #1 Google result for “open source PHP framework”
  • #4: Free to downloadCan virtually do anything with framework- Can not create a commercial blogging application
  • #5: EE2 is built on top of the CodeIgniter framework
  • #6: EllisLab supports the company and it’s 11 employees off of ExpressionEngine primarily.CodeIgniter is the foundation of the new version of ExpressionEngine.EllisLab is committed to supporting the framework, it’s not a side project it is the core of their business.
  • #7: In 2001, Rick Ellis started work on a blogging engine for his clients.The first installation of pMachine was for Nancy Sinatra (Frank Sinatra’s daughter).
  • #8: In 2002, pMachine was released.Featured in Mac World and Mac Addict as well as a Blogging book published by McGraw/Hill.Rick Ellis starts developing software full-time.
  • #9: ExpressionEngine succeeds pMachine and is a more fully feature complete Content Management System.ExpressionEngine sees great success within the designer market, on their personal blogs (VeerlePieters, for instance).
  • #10: EllisLab pulls the core code out of ExpressionEngine and refactors into a framework.
  • #11: At SXSW ’08, EllisLab announces ExpressionEngine 2.Derek Allard, Code Architect for EllisLab, announces that ExpressionEngine 2 will run on top of the CodeIgniter framework.Full Circle: CodeIgniter was born from ExpressionEngine and now it is powering ExpressionEngine
  • #12: Benchmarking performed by AvnetLabs w/ eAcceleratoropcode caching10.5x faster than CakePHP, 2.9x faster than Zend Framework (similar configurations / similar functionality)I’ve never seen a benchmark where CodeIgniter didn’t outperform all competitors
  • #13: Statistics dated Oct 08, from nexen.netShows about a 50/50 split between PHP4 and 5 support.No doubt PHP5 has taken the lead by now, but many users still stuck on PHP4.CodeIgniter utilizes PHP5 features/performance-enhancing functionality when present.
  • #14: MySQL is by far the most supported but could switch without the need to completely rewrite code.Supports MySQL, MS SQL, Oracle, PostgreSQL, SQLite and ODBC connectors.ActiveRecord class allows you to think in PHP and generate SQL.
  • #15: Facebook, MySpace,Twitter and other social networks have seen the rise of a new form of worm.These worms are Javascript based, essentially the attacker enters code into a form that your site displays somewhere.This allows the malicious code to run from your domain essentially bypassing all of the domain-lock features Javascript has built-in.At the flick of a boolean variable, CodeIgniter will automatically protect all of your form fields from XSS vulnerabilities.
  • #16: CodeIgniter automatically generates SEO friendly URLsOf course, this is easily overidden: regular expression pattern matching to point to controller/method and pass variables
  • #17: Nearly every CodeIgniter library and helper can be overridden – allowing you to increase functionality.Examples: auto-discovery of partial views, auto-discovery of models, authentication by basing application classes off of my own controller class, which in turns extends the CodeIgniter Controller class
  • #18: RasmusLerdorf at fOScon 08.He gave a presentation pretty much slamming all PHP frameworks. If he had to pick one, it would be CodeIgniter.
  • #19: The model represents our data – in this particular case we are returning data from a database.Could return data from anything – a Web API, an XML file, JSON, etc.
  • #20: All models extends CodeIgniter’s Model class and must call the parent class’ constructor from their own constructor.
  • #21: This function starts building our SQL query by creating the ORDER BY portion.get() will run the query against the posts table, returning 10 results starting at row 0.We also have a get_where() method, that allows you to pass WHERE statements.get() will return all columns, but a select() method is available to define columns if necessary.We use the num_rows() method to return a result object or the FALSE boolean.
  • #22: The controller accepts and handles all user input (URLs, POST/GET requests, etc.)Like the model, a controller extends the CI Controller class.Controllers must call their parent constructor from within their own constructor.index() method is called by default, if a method is not defined in the URL.We load our post model, then call the get_all() method of that model.We then load a view, called home, and pass it our array of variables (in this case, only the posts).
  • #23: Like the model, a controller extends the CI Controller class.Controllers must call their parent constructor from within their own constructor.
  • #24: index() method is called by default, if a method is not defined in the URL.We load our post model, then call the get_all() method of that model.We then load a view, called home, and pass it our array of variables (in this case, only the posts).
  • #25: The view is simply an HTML file with PHP inter-mixed.Logic should be kept to a bare minimum – just echo data in the view.Templating engines can be used and CI even has a Template Parsing class (why would you want to add more processing time)?Notice the lack of the $data variable – within a view, CodeIgniter brings all $data keys (or child objects) up to top-level variables.Normally, we would check for a FALSE value before looping and show a “No Posts” message – lack of space on screen here.
  • #26: Loop through each of the results returned from our database call (which happened in the model).
  • #27: Echo out the title of the post, title was one of the fields within our posts table.
  • #28: Echo out the excerpt of the post, once again a field within our table.
  • #29: Use a CodeIgniter helper to generate a link to read the entire post.First parameter is the URI segments, second is text of the link, third is an optional array of HTML attributes.Slug was a field within our database – CodeIgniter has a helper to autocreate slugs from text.Would use URI routing to process this request and send it to Controller/Method