2013年1月12日 星期六

Ci 入門與應用


入門與應用

首先你先下載一套開發包在下面就有下載
解壓縮之後你會看到application資料夾、 system資料夾、user_guide資料夾、index.php檔案
接著再按照第一篇框架環境架設定
以我目前的環境資料架構如下

www/ci
    └>/application
└>/controllers
└>/models
└>/views
    └>/system
    └>/user_guide (可刪除)
└>/CSS.JS (js函數和CSS檔案)
└>/images (圖片)
└>/website (文件,資料庫規劃圖,SQL備份檔)
    └>/.htaccess
    └>/index.php


在這裡多補充一點,因為習慣關係,再開始寫網站前,我一定會有兩到三天的時間
會把網站的流程弄清楚,並且規畫好資料庫的欄位以及DB的ERD關係圖,和網站規劃書流程圖
所以我會習慣在網站的根目錄下新增一個website資料夾
放置此網站的文件資料,畢竟人還是會健忘,總是會需要文件提醒
當然這也是給客戶前,必須讓客戶知道的文件


下面開始製作
在 system/application/controllers 新建一個 blog.php 文件

<?php
class News extends Controller
{
    function index()
    {
        echo "News List!";
    }
}
?>

Q1:函數為什麼要為index()?
Ans:index()類函數是預設執行的。

Q2:如何指定自己的類函數?
Ans:http://localhost/ci/index.php/news/ 這個地址是沒有指定的
而如果是 http://localhost/ci/index.php/news/comment/ 這裡表示指定了 comment() 類函數我們就可以這樣寫了:

<?php
class News extends Controller{
    function index(){
        echo "News List!";
    }
    function comment(){
        echo "News comment!";
    }
}
?>

那麼這裡頁面顯示的結果就是 news comment 了
Q3:如何帶參數,可以帶幾個參數!
Ans:首先說明的是可以帶N個參數例如

<?php
    class News extends Controller{
        function index(){
            echo "News List!";
    }
    function comment($id,$cid,$vid){
        echo "blog comment!{$id},{$cid},{$vid}";
    }
}
?>

用 http://localhost/ci/index.php/blog/comment/1/12/123 地址訪問那麼結果就顯示
blog comment 1,23,123
就這麼簡單就可以完成一個帶參輸出
如果要顯示在我設置的前台頁面裡呢?該如何做?

$this->load->view('blog');

這句話就是調用了 application/views/blog.php 這個前端會顯示的php的檔案
以下為範例

controllers控制 (Controller/news.php)

<?php
class News extends Controller{
    function index(){
        $data = array('title' => '歡迎進入 http://codeigniter.org.cn',
                      'heading' => '歡迎',
                      'message' => 'http://codeigniter.org.cn');
        $this->load->view('news', $data); //這裡的 news 是最後前端要呼叫的檔案,所以不需要寫副檔名(.php,.html....)
 //this->load->view('folder/news', $data)這樣是在 folder 文件夾裡面的 news.php 文件。
    }
}
?>

Views前端頁面 (views/news.php)

<html>
<head>
<title><?=$title?></title>
<head>
<body>
你好,<?=$heading?>進入<?=$message?>
</body>
</html>


下回再介紹,CI框架中DB操作,和一些簡易的預設值修改
Share:

0 意見: