Enviar búsqueda
Cargar
OpenWebSchool - 11 - CodeIgniter
•
0 recomendaciones
•
793 vistas
Hung-yu Lin
Seguir
Tecnología
Denunciar
Compartir
Denunciar
Compartir
1 de 30
Recomendados
API Mocking
API Mocking
ChinMingKuo1
Node Web开发实战
Node Web开发实战
fengmk2
第三方内容开发最佳实践
第三方内容开发最佳实践
taobao.com
ASP.Net MVC2 简介
ASP.Net MVC2 简介
Allen Lsy
广告投放代码和创意代码持续优化
广告投放代码和创意代码持续优化
taobao.com
Berserk js
Berserk js
taobao.com
淘宝开放产品前端实践
淘宝开放产品前端实践
taobao.com
百度前端性能监控与优化实践
百度前端性能监控与优化实践
Welefen Lee
Recomendados
API Mocking
API Mocking
ChinMingKuo1
Node Web开发实战
Node Web开发实战
fengmk2
第三方内容开发最佳实践
第三方内容开发最佳实践
taobao.com
ASP.Net MVC2 简介
ASP.Net MVC2 简介
Allen Lsy
广告投放代码和创意代码持续优化
广告投放代码和创意代码持续优化
taobao.com
Berserk js
Berserk js
taobao.com
淘宝开放产品前端实践
淘宝开放产品前端实践
taobao.com
百度前端性能监控与优化实践
百度前端性能监控与优化实践
Welefen Lee
第九章解答
第九章解答
jiannrong
Angular.js & ASP.NET in Study4
Angular.js & ASP.NET in Study4
Kyle Shen
twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC
Laradebut #7 - Laravel AUTH
Laradebut #7 - Laravel AUTH
Szuping Wang
Uliweb cheat sheet_0.1
Uliweb cheat sheet_0.1
modou li
工作坊總結
工作坊總結
Shengyou Fan
Blazor Component 開發實戰
Blazor Component 開發實戰
Gelis Wu
ASP.NET MVC 內建驗證擴充與活用技巧 -twMVC#3
ASP.NET MVC 內建驗證擴充與活用技巧 -twMVC#3
twMVC
twMVC#24 | 別讓資料庫不開心!有些工作讓 Elasticsearch 來代勞
twMVC#24 | 別讓資料庫不開心!有些工作讓 Elasticsearch 來代勞
twMVC
Ruby rails分享
Ruby rails分享
Cam Song
架構行動式網站(使用 ASP.NET MVC 4.0 -twMVC#6
架構行動式網站(使用 ASP.NET MVC 4.0 -twMVC#6
twMVC
重构之道 触屏篇
重构之道 触屏篇
麦哥UE
2021.laravelconf.tw.slides3
2021.laravelconf.tw.slides3
LiviaLiaoFontech
CRUD 綜合運用
CRUD 綜合運用
Shengyou Fan
zend framework in web services
zend framework in web services
王 承石
KSDG-ASP.NET MVC 5 Overview (偽三國誌)
KSDG-ASP.NET MVC 5 Overview (偽三國誌)
Bruce Chen
CRUD 綜合運用
CRUD 綜合運用
Shengyou Fan
使用 Controller
使用 Controller
Shengyou Fan
Exam 98-375 HTML5 Application Development Fundamentals
Exam 98-375 HTML5 Application Development Fundamentals
Chieh Lin
Study4 love.2016.2.20.ionic
Study4 love.2016.2.20.ionic
Kyle Shen
Gearman work queue in php
Gearman work queue in php
Bo-Yi Wu
Introduction to CodeIgniter
Introduction to CodeIgniter
Chun-Kai Wang
Más contenido relacionado
La actualidad más candente
第九章解答
第九章解答
jiannrong
Angular.js & ASP.NET in Study4
Angular.js & ASP.NET in Study4
Kyle Shen
twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC
Laradebut #7 - Laravel AUTH
Laradebut #7 - Laravel AUTH
Szuping Wang
Uliweb cheat sheet_0.1
Uliweb cheat sheet_0.1
modou li
工作坊總結
工作坊總結
Shengyou Fan
Blazor Component 開發實戰
Blazor Component 開發實戰
Gelis Wu
ASP.NET MVC 內建驗證擴充與活用技巧 -twMVC#3
ASP.NET MVC 內建驗證擴充與活用技巧 -twMVC#3
twMVC
twMVC#24 | 別讓資料庫不開心!有些工作讓 Elasticsearch 來代勞
twMVC#24 | 別讓資料庫不開心!有些工作讓 Elasticsearch 來代勞
twMVC
Ruby rails分享
Ruby rails分享
Cam Song
架構行動式網站(使用 ASP.NET MVC 4.0 -twMVC#6
架構行動式網站(使用 ASP.NET MVC 4.0 -twMVC#6
twMVC
重构之道 触屏篇
重构之道 触屏篇
麦哥UE
2021.laravelconf.tw.slides3
2021.laravelconf.tw.slides3
LiviaLiaoFontech
CRUD 綜合運用
CRUD 綜合運用
Shengyou Fan
zend framework in web services
zend framework in web services
王 承石
KSDG-ASP.NET MVC 5 Overview (偽三國誌)
KSDG-ASP.NET MVC 5 Overview (偽三國誌)
Bruce Chen
CRUD 綜合運用
CRUD 綜合運用
Shengyou Fan
使用 Controller
使用 Controller
Shengyou Fan
Exam 98-375 HTML5 Application Development Fundamentals
Exam 98-375 HTML5 Application Development Fundamentals
Chieh Lin
Study4 love.2016.2.20.ionic
Study4 love.2016.2.20.ionic
Kyle Shen
La actualidad más candente
(20)
第九章解答
第九章解答
Angular.js & ASP.NET in Study4
Angular.js & ASP.NET in Study4
twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC#01 | ASP.NET MVC 的第一次親密接觸
Laradebut #7 - Laravel AUTH
Laradebut #7 - Laravel AUTH
Uliweb cheat sheet_0.1
Uliweb cheat sheet_0.1
工作坊總結
工作坊總結
Blazor Component 開發實戰
Blazor Component 開發實戰
ASP.NET MVC 內建驗證擴充與活用技巧 -twMVC#3
ASP.NET MVC 內建驗證擴充與活用技巧 -twMVC#3
twMVC#24 | 別讓資料庫不開心!有些工作讓 Elasticsearch 來代勞
twMVC#24 | 別讓資料庫不開心!有些工作讓 Elasticsearch 來代勞
Ruby rails分享
Ruby rails分享
架構行動式網站(使用 ASP.NET MVC 4.0 -twMVC#6
架構行動式網站(使用 ASP.NET MVC 4.0 -twMVC#6
重构之道 触屏篇
重构之道 触屏篇
2021.laravelconf.tw.slides3
2021.laravelconf.tw.slides3
CRUD 綜合運用
CRUD 綜合運用
zend framework in web services
zend framework in web services
KSDG-ASP.NET MVC 5 Overview (偽三國誌)
KSDG-ASP.NET MVC 5 Overview (偽三國誌)
CRUD 綜合運用
CRUD 綜合運用
使用 Controller
使用 Controller
Exam 98-375 HTML5 Application Development Fundamentals
Exam 98-375 HTML5 Application Development Fundamentals
Study4 love.2016.2.20.ionic
Study4 love.2016.2.20.ionic
Destacado
Gearman work queue in php
Gearman work queue in php
Bo-Yi Wu
Introduction to CodeIgniter
Introduction to CodeIgniter
Chun-Kai Wang
PHP CodeIgniter 框架之美
PHP CodeIgniter 框架之美
Amigo 陳兆祥
以Code igniter為基礎的網頁前端程式設計
以Code igniter為基礎的網頁前端程式設計
Amigo 陳兆祥
advanced introduction to codeigniter
advanced introduction to codeigniter
Bo-Yi Wu
Codeigniter 3.0 之 30 分鐘就上手
Codeigniter 3.0 之 30 分鐘就上手
Piece Chao
企業資源規劃(Erp)系統導入規劃
企業資源規劃(Erp)系統導入規劃
Simon Huang
開發環境建置
開發環境建置
Shengyou Fan
初心者 Git 上手攻略
初心者 Git 上手攻略
Lucien Lee
[Modern Web 2016] 讓你的 PHP 開發流程再次潮起來
[Modern Web 2016] 讓你的 PHP 開發流程再次潮起來
Shengyou Fan
淺談RESTful API認證 Token機制使用經驗分享
淺談RESTful API認證 Token機制使用經驗分享
Tun-Yu Chang
RESTful API的设计与开发
RESTful API的设计与开发
Ace Lee
Composer 從入門到實戰
Composer 從入門到實戰
Shengyou Fan
REST to RESTful Web Service
REST to RESTful Web Service
家弘 周
API Token 入門
API Token 入門
Andrew Wu
Destacado
(15)
Gearman work queue in php
Gearman work queue in php
Introduction to CodeIgniter
Introduction to CodeIgniter
PHP CodeIgniter 框架之美
PHP CodeIgniter 框架之美
以Code igniter為基礎的網頁前端程式設計
以Code igniter為基礎的網頁前端程式設計
advanced introduction to codeigniter
advanced introduction to codeigniter
Codeigniter 3.0 之 30 分鐘就上手
Codeigniter 3.0 之 30 分鐘就上手
企業資源規劃(Erp)系統導入規劃
企業資源規劃(Erp)系統導入規劃
開發環境建置
開發環境建置
初心者 Git 上手攻略
初心者 Git 上手攻略
[Modern Web 2016] 讓你的 PHP 開發流程再次潮起來
[Modern Web 2016] 讓你的 PHP 開發流程再次潮起來
淺談RESTful API認證 Token機制使用經驗分享
淺談RESTful API認證 Token機制使用經驗分享
RESTful API的设计与开发
RESTful API的设计与开发
Composer 從入門到實戰
Composer 從入門到實戰
REST to RESTful Web Service
REST to RESTful Web Service
API Token 入門
API Token 入門
Similar a OpenWebSchool - 11 - CodeIgniter
How to ASP.NET MVC4
How to ASP.NET MVC4
Daniel Chou
Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有
Wade Huang
使用NodeJS构建静态资源管理系统
使用NodeJS构建静态资源管理系统
Frank Xu
Real World ASP.NET MVC
Real World ASP.NET MVC
jeffz
Cas Sso Intro
Cas Sso Intro
Shiny Zhu
Non-MVC Web Framework
Non-MVC Web Framework
Fred Chien
Introduction to MVC of CodeIgniter 2.1.x
Introduction to MVC of CodeIgniter 2.1.x
Bo-Yi Wu
Backbone.js and MVW 101
Backbone.js and MVW 101
Jollen Chen
Php Webservers
Php Webservers
samon127
Php Webservers
Php Webservers
thinkinlamp
非常靠谱 Html 5
非常靠谱 Html 5
Tony Deng
Symfony簡介
Symfony簡介
Ricky Su
nodejs开发web站点
nodejs开发web站点
xiaojueqq12345
Using google appengine_1027
Using google appengine_1027
Wei Sun
ASP.NET Core MVC 2.2從開發到測試 - Development & Unit Testing
ASP.NET Core MVC 2.2從開發到測試 - Development & Unit Testing
江華 奚
Using google appengine (2)
Using google appengine (2)
Wei Sun
使用 Controller
使用 Controller
Shengyou Fan
使用者認證
使用者認證
Shengyou Fan
Single-Page Application Design Principles 101
Single-Page Application Design Principles 101
Jollen Chen
张所勇:前端开发工具推荐
张所勇:前端开发工具推荐
zhangsuoyong
Similar a OpenWebSchool - 11 - CodeIgniter
(20)
How to ASP.NET MVC4
How to ASP.NET MVC4
Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有
使用NodeJS构建静态资源管理系统
使用NodeJS构建静态资源管理系统
Real World ASP.NET MVC
Real World ASP.NET MVC
Cas Sso Intro
Cas Sso Intro
Non-MVC Web Framework
Non-MVC Web Framework
Introduction to MVC of CodeIgniter 2.1.x
Introduction to MVC of CodeIgniter 2.1.x
Backbone.js and MVW 101
Backbone.js and MVW 101
Php Webservers
Php Webservers
Php Webservers
Php Webservers
非常靠谱 Html 5
非常靠谱 Html 5
Symfony簡介
Symfony簡介
nodejs开发web站点
nodejs开发web站点
Using google appengine_1027
Using google appengine_1027
ASP.NET Core MVC 2.2從開發到測試 - Development & Unit Testing
ASP.NET Core MVC 2.2從開發到測試 - Development & Unit Testing
Using google appengine (2)
Using google appengine (2)
使用 Controller
使用 Controller
使用者認證
使用者認證
Single-Page Application Design Principles 101
Single-Page Application Design Principles 101
张所勇:前端开发工具推荐
张所勇:前端开发工具推荐
Más de Hung-yu Lin
2014 database - course 2 - php
2014 database - course 2 - php
Hung-yu Lin
2014 database - course 3 - PHP and MySQL
2014 database - course 3 - PHP and MySQL
Hung-yu Lin
2014 database - course 1 - www introduction
2014 database - course 1 - www introduction
Hung-yu Lin
OpenWebSchool - 06 - PHP + MySQL
OpenWebSchool - 06 - PHP + MySQL
Hung-yu Lin
OpenWebSchool - 05 - MySQL
OpenWebSchool - 05 - MySQL
Hung-yu Lin
OpenWebSchool - 02 - PHP Part I
OpenWebSchool - 02 - PHP Part I
Hung-yu Lin
OpenWebSchool - 01 - WWW Intro
OpenWebSchool - 01 - WWW Intro
Hung-yu Lin
OpenWebSchool - 03 - PHP Part II
OpenWebSchool - 03 - PHP Part II
Hung-yu Lin
Dremel: interactive analysis of web-scale datasets
Dremel: interactive analysis of web-scale datasets
Hung-yu Lin
Google App Engine
Google App Engine
Hung-yu Lin
Redis
Redis
Hung-yu Lin
Más de Hung-yu Lin
(11)
2014 database - course 2 - php
2014 database - course 2 - php
2014 database - course 3 - PHP and MySQL
2014 database - course 3 - PHP and MySQL
2014 database - course 1 - www introduction
2014 database - course 1 - www introduction
OpenWebSchool - 06 - PHP + MySQL
OpenWebSchool - 06 - PHP + MySQL
OpenWebSchool - 05 - MySQL
OpenWebSchool - 05 - MySQL
OpenWebSchool - 02 - PHP Part I
OpenWebSchool - 02 - PHP Part I
OpenWebSchool - 01 - WWW Intro
OpenWebSchool - 01 - WWW Intro
OpenWebSchool - 03 - PHP Part II
OpenWebSchool - 03 - PHP Part II
Dremel: interactive analysis of web-scale datasets
Dremel: interactive analysis of web-scale datasets
Google App Engine
Google App Engine
Redis
Redis
OpenWebSchool - 11 - CodeIgniter
1.
Ensky / 林宏昱
2.
What's Framework Framework ,中文是「框架」 顧名思義就是一個框框,你寫的東西都要在那個框 框裡。
3.
What's Framework 更精確的定義,就是有人寫了一些code, 那些code提供了一個規範, 規定你怎麼寫網站、檔案應該存在哪裡, 透過那些規定,你可能可以更快寫出一個架構不錯 的網站。
4.
你可能會覺得,PHP那麼簡單,我也寫很快阿, 為什麼還需要Framework來「規範」我呢? 我崇尚自由!
5.
Why Framework? 但是阿,有句諺語說, 「code過了三個月就不是你寫的了」 自己寫的code要是沒有document, 很快就忘了你之前的邏輯
6.
或者是,你在團隊中工作, 而他們全部都需要了解你的Coding style。 身為工程師的你超懶得寫document的阿
7.
Why Framework? • 你需要大量Document讓你的工作伙伴快速上手 •
你需要一套規範讓大家coding邏輯相同 而這些是一個好的Framework會提供給你的!
8.
Framework to NewHand 基本上不建議新手學Framework。 新手對於PHP的各種特性還不夠熟悉, 很容易被Framework帶來的各種「糖衣」誘惑 一旦使用之後從此對於架構的概念就定型了 從此在也無法接受其他架構 (即使別的FrameWork可能設計的更好)
9.
Framework to NewHand Framework也是人寫出來的, 在使用的時候你一定要知道每個功能背後是 怎麼寫的,甚至你可以自己trace
code。 如此一來,才不會被Framework綁住, 輕則不能輕易換Framework, 重則沒有Framework就不會寫code了。
10.
Framework to NewHand 因此我對新手的建議是 多練、多嘗試 趁自己的架構還沒有被定型, 多嘗試研發自己的架構, 寫的順了,想快速開發,再survey一套順手的 Framework 而不是一開始就直接碰他。
11.
Popular PHP Framework http://www.phpframeworks.com/index.php
12.
CodeIgniter is an
PHP Framework • 小巧 • 輕量 • 說明文件多、完整 • 速度快 • 簡單 我講CI不代表CI就是最好的Framework, 每個人喜歡的Framework不同。
13.
Model View Controller MVC是一個程式設計的概念, 和OOP很像, 並不是網頁設計獨有的東西。 但在網頁設計上剛好很適合採用M-V-C架構, 因此幾乎大家的PHP
Framework 都採此架構設計。
14.
Model View Controller
Controller Model View
15.
Model View Controller •
Controller – 邏輯判斷 Ex: 這頁做些什麼事情?(登入、註冊、表單) 我需要哪些資料? 中間人的角色 • Model – 可以重複利用的函數群 可以被不同的Controller load 比如說Database的操作很適合成為Model
16.
Model View Controller •
View – Layout 各種不同的網頁內容 此種頁面純粹印出Controller提供的變數 (or陣列) 不做任何邏輯判斷。
17.
Model View Controller
1.GET /login Browser Controller 6. Return Page 4.Load Login page 3.Return Auth model 2.Load Auth model 5. Return Login Page Model View
18.
Router CI的檔案管理是用URL PATH管理的, 當一個網址長這樣: http://www.codeigniter.org.tw/downloads 他其實代表的意思是: http://www.codeigniter.org.tw/index.php/downloads 而利用Web Server的URL
Rewrite功能, 達到重新導向的目的。 因此,所有網址都經由index.php做統一集中的route動作
19.
Router index.php看到一個url長這樣 http://ensky.tw/auth/login 根據CI的router,他會去找controller/auth.php 這隻程式,然後去執行他的login function Demo Code
20.
Router 而如果再繼續/下去,則會被當成該method的 params傳進去。 也因為CI的Router機制, 我們看到一個url就知道去哪裡找他, 檔案在哪裡都一清二楚不會找不到。 http://xxxx/controller/method/params
21.
Loader 為了加快速度,CI的所有元件都是load by need的, 需要的時候在使用loader把它load進來。 load進來之後就會綁到$this上面, 比如說: $this->load->model('curl'); $this->curl->xxx(); 就不需要用傳統的 require_once
__dir__ ."/curl.php"; $curl = new curl();
22.
Demo Time I'll show
you controller, model, view
23.
Library 有些時候你會想用別人寫的Library, 但他不是用CI這套Framework,怎麼辦? 沒關係,CI可以讓你使用別人寫的Library, 用法一樣輕鬆寫意。 $this->load->library('phpmailer'); $this->phpmailer->send('enskylin@gmail.com');
24.
CI Session CI製作團隊似乎覺得php native的session 不是很好用,所以自己設計了一套session, 完全使用cookie加密存放資料, 也可以選擇使用db存放。 $this->session->set_userdata('id',
'ensky'); echo $this->session->userdata('id'); // ensky
25.
CI Session Note: 如果有個session沒有被設定過(!isset)的話 不會噴錯誤,他會是False 有個flash_data機制頗好用, 若某個session只想保留給下一頁使用, 就可以用flashdata來存 $this->session
->set_flashdata('errmsg', 'error!'); <?=$this->session->flashdata('errmsg')?>
26.
Database • 基本上就完全是我前幾天講的Active Record $result
= $this->db->select('*') ->from('user') ->where('id', 'ensky') ->get()->result_array(); $insert_data = ['id'=>'ensky', 'gender'=>'boy']; $this->db->insert('user', $insert_data);
27.
Other feature • Form
Validation – 可以讓你很快的做表單輸入格式驗證 比如說密碼長度大於blablabla 或者是這欄只能是數字,諸如此類。 http://www.codeigniter.org.tw/user_guide/libraries /form_validation.html
28.
Other feature • input
class – 使用者的資料向來都要視為很不安全, 比方說get, post, cookie等資訊, ci就把所有使用者的input包成一個class, 可以用類似方式取用 $id = $this->input->post('id'); $cookie_id = $this->input->cookie('id');
29.
DEMO!
30.
Reference • 絕對強大的中文手冊
http://www.codeigniter.org.tw/user_guide/