網頁

4/10/2013

[CI]認識CodeIgniter的基本架構

CodeIgniter 是眾多 PHP Framework 中的其中一個,他的架構跟多數的Framewrok一樣是使用M-V-C。
MVC 是把程式邏輯跟視覺的拆開來寫的一種開發方法。它讓你的網頁中只有少量的程式,主要是把PHP跟Html的程式分開來開發。


  • 模型(Model) 裡面可以放很多的function,主要是以資料庫的新增、修改、刪除為主。
  • 檢視(View) 是用來放網頁的內容(Html),在CodeIgniter是可以把多個View在一個頁面中呈現出來,所以像header或footer這些共用的部分可以分開來寫,顯示頁面時再把他們load進來就行了。
  • 控制器(Controller) 在Model跟View之間,處理 HTTP request 以及產生網頁。
CodeIgniter 雖然是採用 MVC 的方法,但它的規則較寬鬆,所以不一定要有Model。 如果你覺得用Model很複雜,你可以只使用Controller跟View來開發網站。CodeIgniter 也可以放入網路上找到的jQuery套件或著自己寫的libraries,讓你用你最習慣、最喜歡的開發網頁。

了解完架構後就來看一下,下載來的資料夾中有哪些檔案吧~~

解壓縮後就可以看到裡面有application、system、user_guide、index.php、license.txt



1. 介紹 index.php 裡有哪些設定是比較重要的:


  1. define('ENVIRONMENT', 'development');  第22行他預設 development 的環境下,Notice、Warning、Error都會顯示出來,因為他的error_reporting設定為 E_ALL ,所以在開發結束後要記得把他改成production不然有可能會造成使用者的困擾。
  2. $system_path = 'system';  第61行,$application_folder = 'application';  第77行
    為了安全性的問題,有些人會把  application跟system這兩個資料夾重新命名或是變動路徑,如果做了變動一定
    要記得改這兩個變數的值。

2. application的資料夾(程式及網頁主要存放的位置):
  1. config資料夾
    裡面常用到的有confg.php、database.php、routes.php
    confg.php 常會用到的是設定base_url及index_page(url中要把index.php拿掉需要在這設定)
    database.php 會用到資料庫的話要在這裡設定連線主機、使用者、密碼、資料庫名稱。
    routes.php 可以設定default的頁面還有404錯誤時的頁面,看檔案名稱就可以知道,它主要是用來設定轉址的例如:http://www.xxx.com/news/view/id,希望url可以短一點省略掉view,可以加一行 $route['news/(:any)'] = 'news/view/$1'; 到這隻檔案中這樣網址就只要輸入 http://www.xxx.com/news/id 就會導到正確的頁面。
  2. controllers、libraries、models、views這四個資料夾就是我們主要放程式的地方了,之後的文章再寫範例仔細的介紹。
3. system資料夾:系統的核心程式,內有許多好用的類別,想知道使用方法可以到http://www.codeigniter.org.tw/user_guide/去了解,之後我也會挑幾個我用過的來介紹。

4.user_guide資料夾:網頁放到伺服器上可以不用上傳這個資料夾,因為它只是使用手冊,所以不需要的人可以直接刪除。



沒有留言:

張貼留言