SlideShare ist ein Scribd-Unternehmen logo
1 von 37
Benefit of CodeIgniter  PHP Framework Appleboy (Bo-Yi Wu) 2010.09.19
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],About Me
Evolution of Web Development index.php about.php news.php links.php contact.php product.php 剛開始設計網站的時候……… ..
Evolution of Web Development index.php page.php header.php news.php footer.php 當你知道每個網頁都有共同的  header  跟  footer  部份
Evolution of Web Development index.php Controller Model View 當你使用  PHP Framework  設計網站時……
Why use Framework ?
Why use Framework ? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Many more …….
MVC Architecture WEB SERVER ROUTES Controller View MODEL LAYOUT Database Client BROWSER
MVC ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Controller  (controllers/product.php) function showProduct($id) { $this->load->model(“product”); $count = $this->product->getCount($id); $data[‘count’] = $count; $this->load->view(“showProduct”, $data); } Model  (controllers/product.php) function getCount($id) { $this->db->where(“id”, $id); $this->db->from(“my_product”); $query = $this->db->get(); return $->num_rows(); } View Controller Model
Public Web Framework
Why Choose CodeIgniter ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
What is CodeIgniter???? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
How to install CodeIgniter ?
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],You can see http://localhost/ci/index.php
Application Flow Of CodeIgniter
CodeIgniter URL ,[object Object],http://localhost/index.php/ news / edit / 10
CodeIgniter Directory ,[object Object],[object Object],[object Object],設定網站  Application  目錄 ,  及  CodeIgniter  核心目錄
CodeIgniter System Directory ,[object Object],[object Object],[object Object],[object Object],[object Object],Conroller, Model, Views
CodeIgniter Application Directory ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Controller ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Should be placed under “application/controllers”
Controller ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],url: http://localhost/ news / edit / 10
Views Should be placed under “application/views/index.php” <html> <title> My First CodeIgniter Project</title> <body> <h1>Welcome to My CodeIgniter</h1> </body> </html>
Views Calling a VIEW from Controller $this->load->view(‘index’); Data Passing to a VIEW from Controller function index() { $data = array( ‘ full_name’ => ‘appleboy’, ‘ email’ => ‘appleboy.tw@gmail.com’ ); $this->load->view(‘index’, $data); }
Views <html> <title> ..::Personal Info::.. </title> <body> Full Name :  <?=$full_name;?> <br /> E-mail  :  <?=$email;?> <br /> </body> </html>
Models Models Should be placed Under “application/models/” class  News_model  extends Model { function Mlb_model() { parent::Model(); }  function  get_news ($id) { $this->db->select(‘news_id, news_name'); $this->db->from('project_news'); $query = $this->db->get(); return $query->result_array(); }  }
Loading a Model inside a Controller ,[object Object],[object Object]
CodeIgniter Libraries ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
How to load  Libraries?
[object Object],[object Object]
CodeIgniter Helpers ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
How to load  helper?
[object Object],[object Object]
Auto-loading Resources ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
application/config/autoload.php   ,[object Object],[object Object],[object Object]
CodeIgniter Online Resource ,[object Object],[object Object],[object Object],[object Object]
[object Object]

Weitere ähnliche Inhalte

Was ist angesagt?

Practical AngularJS
Practical AngularJSPractical AngularJS
Practical AngularJS
Wei Ru
 
JavaScript Patterns and Principles
JavaScript Patterns and PrinciplesJavaScript Patterns and Principles
JavaScript Patterns and Principles
Aaronius
 

Was ist angesagt? (20)

Codegnitorppt
CodegnitorpptCodegnitorppt
Codegnitorppt
 
PHP & MVC
PHP & MVCPHP & MVC
PHP & MVC
 
Require js
Require jsRequire js
Require js
 
How to learn to build your own PHP framework
How to learn to build your own PHP frameworkHow to learn to build your own PHP framework
How to learn to build your own PHP framework
 
The AngularJS way
The AngularJS wayThe AngularJS way
The AngularJS way
 
Angular js for beginners
Angular js for beginnersAngular js for beginners
Angular js for beginners
 
Why angular js Framework
Why angular js Framework Why angular js Framework
Why angular js Framework
 
Practical AngularJS
Practical AngularJSPractical AngularJS
Practical AngularJS
 
Introduction to Using PHP & MVC Frameworks
Introduction to Using PHP & MVC FrameworksIntroduction to Using PHP & MVC Frameworks
Introduction to Using PHP & MVC Frameworks
 
AngularJS: an introduction
AngularJS: an introductionAngularJS: an introduction
AngularJS: an introduction
 
Introduction to AngularJS
Introduction to AngularJSIntroduction to AngularJS
Introduction to AngularJS
 
Spring Framework 101
Spring Framework 101Spring Framework 101
Spring Framework 101
 
AngularJS - What is it & Why is it awesome ? (with demos)
AngularJS - What is it & Why is it awesome ? (with demos)AngularJS - What is it & Why is it awesome ? (with demos)
AngularJS - What is it & Why is it awesome ? (with demos)
 
Understanding angular js
Understanding angular jsUnderstanding angular js
Understanding angular js
 
AngularJS in 60ish Minutes
AngularJS in 60ish MinutesAngularJS in 60ish Minutes
AngularJS in 60ish Minutes
 
Advanced Tips & Tricks for using Angular JS
Advanced Tips & Tricks for using Angular JSAdvanced Tips & Tricks for using Angular JS
Advanced Tips & Tricks for using Angular JS
 
Require.JS
Require.JSRequire.JS
Require.JS
 
Step by Step - AngularJS
Step by Step - AngularJSStep by Step - AngularJS
Step by Step - AngularJS
 
JavaScript Patterns and Principles
JavaScript Patterns and PrinciplesJavaScript Patterns and Principles
JavaScript Patterns and Principles
 
AngularJS Beginners Workshop
AngularJS Beginners WorkshopAngularJS Beginners Workshop
AngularJS Beginners Workshop
 

Andere mochten auch (6)

Connections and Contexts: The Birth, Growth and Death of Online Learning Comm...
Connections and Contexts: The Birth, Growth and Death of Online Learning Comm...Connections and Contexts: The Birth, Growth and Death of Online Learning Comm...
Connections and Contexts: The Birth, Growth and Death of Online Learning Comm...
 
Research Methods for Identifying and Analysing Virtual Learning Communities
Research Methods for Identifying and Analysing Virtual Learning CommunitiesResearch Methods for Identifying and Analysing Virtual Learning Communities
Research Methods for Identifying and Analysing Virtual Learning Communities
 
ID as Social Process
ID as Social ProcessID as Social Process
ID as Social Process
 
La familia apuntes interactivos
La familia apuntes interactivosLa familia apuntes interactivos
La familia apuntes interactivos
 
Pronunciation chapter 4
Pronunciation chapter 4Pronunciation chapter 4
Pronunciation chapter 4
 
Spn ch 4 #5 listening orientation
Spn ch 4 #5 listening orientationSpn ch 4 #5 listening orientation
Spn ch 4 #5 listening orientation
 

Ähnlich wie Benefit of CodeIgniter php framework

WebNet Conference 2012 - Designing complex applications using html5 and knock...
WebNet Conference 2012 - Designing complex applications using html5 and knock...WebNet Conference 2012 - Designing complex applications using html5 and knock...
WebNet Conference 2012 - Designing complex applications using html5 and knock...
Fabio Franzini
 
Zend - Installation And Sample Project Creation
Zend - Installation And Sample Project Creation Zend - Installation And Sample Project Creation
Zend - Installation And Sample Project Creation
Compare Infobase Limited
 
Speed up your developments with Symfony2
Speed up your developments with Symfony2Speed up your developments with Symfony2
Speed up your developments with Symfony2
Hugo Hamon
 

Ähnlich wie Benefit of CodeIgniter php framework (20)

Introduction To Code Igniter
Introduction To Code IgniterIntroduction To Code Igniter
Introduction To Code Igniter
 
Introduction To CodeIgniter
Introduction To CodeIgniterIntroduction To CodeIgniter
Introduction To CodeIgniter
 
Codeigniter
CodeigniterCodeigniter
Codeigniter
 
CodeIgniter PHP MVC Framework
CodeIgniter PHP MVC FrameworkCodeIgniter PHP MVC Framework
CodeIgniter PHP MVC Framework
 
Exploring Symfony's Code
Exploring Symfony's CodeExploring Symfony's Code
Exploring Symfony's Code
 
Codeigniter
CodeigniterCodeigniter
Codeigniter
 
WebNet Conference 2012 - Designing complex applications using html5 and knock...
WebNet Conference 2012 - Designing complex applications using html5 and knock...WebNet Conference 2012 - Designing complex applications using html5 and knock...
WebNet Conference 2012 - Designing complex applications using html5 and knock...
 
Code igniter - A brief introduction
Code igniter - A brief introductionCode igniter - A brief introduction
Code igniter - A brief introduction
 
Reactive application using meteor
Reactive application using meteorReactive application using meteor
Reactive application using meteor
 
using Mithril.js + postgREST to build and consume API's
using Mithril.js + postgREST to build and consume API'susing Mithril.js + postgREST to build and consume API's
using Mithril.js + postgREST to build and consume API's
 
Simplify your professional web development with symfony
Simplify your professional web development with symfonySimplify your professional web development with symfony
Simplify your professional web development with symfony
 
「Code igniter」を読もう。〜ソースコードから知る仕様や拡張方法〜
「Code igniter」を読もう。〜ソースコードから知る仕様や拡張方法〜 「Code igniter」を読もう。〜ソースコードから知る仕様や拡張方法〜
「Code igniter」を読もう。〜ソースコードから知る仕様や拡張方法〜
 
PHP Frameworks and CodeIgniter
PHP Frameworks and CodeIgniterPHP Frameworks and CodeIgniter
PHP Frameworks and CodeIgniter
 
Zend - Installation And Sample Project Creation
Zend - Installation And Sample Project Creation Zend - Installation And Sample Project Creation
Zend - Installation And Sample Project Creation
 
Zend Framework 1.9 Setup & Using Zend_Tool
Zend Framework 1.9 Setup & Using Zend_ToolZend Framework 1.9 Setup & Using Zend_Tool
Zend Framework 1.9 Setup & Using Zend_Tool
 
Having fun with code igniter
Having fun with code igniterHaving fun with code igniter
Having fun with code igniter
 
Advanced Web Development
Advanced Web DevelopmentAdvanced Web Development
Advanced Web Development
 
Speed up your developments with Symfony2
Speed up your developments with Symfony2Speed up your developments with Symfony2
Speed up your developments with Symfony2
 
Introduction to CodeIgniter
Introduction to CodeIgniterIntroduction to CodeIgniter
Introduction to CodeIgniter
 
PHP on Windows
PHP on WindowsPHP on Windows
PHP on Windows
 

Mehr von Bo-Yi Wu

Mehr von Bo-Yi Wu (20)

Drone CI/CD 自動化測試及部署
Drone CI/CD 自動化測試及部署Drone CI/CD 自動化測試及部署
Drone CI/CD 自動化測試及部署
 
用 Go 語言打造多台機器 Scale 架構
用 Go 語言打造多台機器 Scale 架構用 Go 語言打造多台機器 Scale 架構
用 Go 語言打造多台機器 Scale 架構
 
Job Queue in Golang
Job Queue in GolangJob Queue in Golang
Job Queue in Golang
 
Golang Project Layout and Practice
Golang Project Layout and PracticeGolang Project Layout and Practice
Golang Project Layout and Practice
 
Introduction to GitHub Actions
Introduction to GitHub ActionsIntroduction to GitHub Actions
Introduction to GitHub Actions
 
Drone 1.0 Feature
Drone 1.0 FeatureDrone 1.0 Feature
Drone 1.0 Feature
 
Drone CI/CD Platform
Drone CI/CD PlatformDrone CI/CD Platform
Drone CI/CD Platform
 
GraphQL IN Golang
GraphQL IN GolangGraphQL IN Golang
GraphQL IN Golang
 
Go 語言基礎簡介
Go 語言基礎簡介Go 語言基礎簡介
Go 語言基礎簡介
 
drone continuous Integration
drone continuous Integrationdrone continuous Integration
drone continuous Integration
 
Gorush: A push notification server written in Go
Gorush: A push notification server written in GoGorush: A push notification server written in Go
Gorush: A push notification server written in Go
 
用 Drone 打造 輕量級容器持續交付平台
用 Drone 打造輕量級容器持續交付平台用 Drone 打造輕量級容器持續交付平台
用 Drone 打造 輕量級容器持續交付平台
 
用 Go 語言 打造微服務架構
用 Go 語言打造微服務架構用 Go 語言打造微服務架構
用 Go 語言 打造微服務架構
 
Introduction to Gitea with Drone
Introduction to Gitea with DroneIntroduction to Gitea with Drone
Introduction to Gitea with Drone
 
運用 Docker 整合 Laravel 提升團隊開發效率
運用 Docker 整合 Laravel 提升團隊開發效率運用 Docker 整合 Laravel 提升團隊開發效率
運用 Docker 整合 Laravel 提升團隊開發效率
 
用 Go 語言實戰 Push Notification 服務
用 Go 語言實戰 Push Notification 服務用 Go 語言實戰 Push Notification 服務
用 Go 語言實戰 Push Notification 服務
 
用 Go 語言打造 DevOps Bot
用 Go 語言打造 DevOps Bot用 Go 語言打造 DevOps Bot
用 Go 語言打造 DevOps Bot
 
A painless self-hosted Git service: Gitea
A painless self-hosted Git service: GiteaA painless self-hosted Git service: Gitea
A painless self-hosted Git service: Gitea
 
Write microservice in golang
Write microservice in golangWrite microservice in golang
Write microservice in golang
 
用 Docker 改善團隊合作模式
用 Docker 改善團隊合作模式用 Docker 改善團隊合作模式
用 Docker 改善團隊合作模式
 

Kürzlich hochgeladen

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Kürzlich hochgeladen (20)

GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 

Benefit of CodeIgniter php framework

  • 1. Benefit of CodeIgniter PHP Framework Appleboy (Bo-Yi Wu) 2010.09.19
  • 2.
  • 3. Evolution of Web Development index.php about.php news.php links.php contact.php product.php 剛開始設計網站的時候……… ..
  • 4. Evolution of Web Development index.php page.php header.php news.php footer.php 當你知道每個網頁都有共同的 header 跟 footer 部份
  • 5. Evolution of Web Development index.php Controller Model View 當你使用 PHP Framework 設計網站時……
  • 7.
  • 8. MVC Architecture WEB SERVER ROUTES Controller View MODEL LAYOUT Database Client BROWSER
  • 9.
  • 11.
  • 12.
  • 13. How to install CodeIgniter ?
  • 14.
  • 15.
  • 16. Application Flow Of CodeIgniter
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23. Views Should be placed under “application/views/index.php” <html> <title> My First CodeIgniter Project</title> <body> <h1>Welcome to My CodeIgniter</h1> </body> </html>
  • 24. Views Calling a VIEW from Controller $this->load->view(‘index’); Data Passing to a VIEW from Controller function index() { $data = array( ‘ full_name’ => ‘appleboy’, ‘ email’ => ‘appleboy.tw@gmail.com’ ); $this->load->view(‘index’, $data); }
  • 25. Views <html> <title> ..::Personal Info::.. </title> <body> Full Name : <?=$full_name;?> <br /> E-mail : <?=$email;?> <br /> </body> </html>
  • 26. Models Models Should be placed Under “application/models/” class News_model extends Model { function Mlb_model() { parent::Model(); } function get_news ($id) { $this->db->select(‘news_id, news_name'); $this->db->from('project_news'); $query = $this->db->get(); return $query->result_array(); } }
  • 27.
  • 28.
  • 29. How to load Libraries?
  • 30.
  • 31.
  • 32. How to load helper?
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.