2013年4月19日 星期五

[codeigniter]好好入門的 PHP MVC 架構

在說codeigniter前,一定要先介紹一下MVC是什麼東東.

View:就是HTML與CSS,XML,的部分
Controller:就是在伺服端執行的程式,像是PHP,ASP.net這種
Model:資料庫,或資料本身,圖片,文檔等

分成三層就可以把程式,資料庫存取與前端語法完全分開,不會像以前傳統將PHP與HTML寫在一起,產生雜亂的感覺,也不好維護.


為什麼選了codeigniter?
1.因為中文教學文件完善
2.安裝超簡單,只要解壓縮,把System,application,index.php放進AppServ
的www資料夾中,或是XAMPP的htdoc中就好了
3.提供友善網址,有助於搜尋引擎SEO優化.

所謂友善網址是這樣的,例如我有個網址是:
http://example.com/news/latest/10
http://example.com/Controller的class名稱/Controller中的方法名稱/傳入方法的參數
開始實作一靜態頁面:
(一)先創建application/controllers/pages.php ,輸入下列程式

CI_Controller class 就是system/core/Controller.php,所有客戶端要求會先經過controller.在controller中$this就代表我們目前寫的這個controller-Pages,可以用$this->load->method($parameter)來匯入view或是js等函數之類的

(二)要構成網頁就一定要有基本的html元素,所以要創建header.phpfooter.php兩個檔案並放在application/views/templates/底下,分別放以下的code

<html><head> <title><?php echo $title ?> - CodeIgniter 2 Tutorial</title></head><body> <h1>CodeIgniter 2 Tutorial</h1>

<strong>&copy; 2011</strong> </body>
</html>

(三)在application/views/pages/下建立兩個檔案home.php跟about.php,
裡面分別寫入hello home!與hello about!
templates通常用來放網頁模板,CSS等,pages通常釋放網頁重要顯示內容,也就是網頁主幹
(四)要顯示的靜態內容都決定完了,我們要用controller(pages.php)載入靜態頁面們,分別是head.php與home.php與footer.php


(五)程式寫好之後,最後就是如何看到自己寫的網頁了.
[your-site-url]index.php/pages/view           ==>看到home
[your-site-url]index.php/pages/view/about==>看到about

(六)簡化你的網址
網址實在有點太長了,你可以到application/config/routes.php
修改為
$route['default_controller'] = 'pages/view';  //原本是wellcome
之後你就可以用
[your-site-url]/index.php  ==>看到home
[your-site-url]/index.php/about ==>看到about


出處:
http://www.codeigniter.org.tw/user_guide/tutorial/static_pages.html

沒有留言:

張貼留言

歡迎留言討論,沒有登入也可以留言