知識文章CodeIgniter 加入 PHP ActiveRecord

CodeIgniter 加入 PHP ActiveRecord

今天分享一下,CodeIgniter 加入 PHP ActiveRecord 的方式與優點!

PHP ActiveRecord 是一套處理 PHP 對 MySQL 存取的 Library

其主要相似於 Ruby on Rails 的 ORM 應用,主要是藉由 PHP 的 PDO 方式

與 MySQL 建立連線機制與建立物件

而在 CodeIgniter 上所使用的 Model 當然不是 PDO 的方式

所以囉,我們必須對他稍加做改造一下!

 

我要弄的方式則是使用 CodeIgniter 的 spark 擴充功能

在 Linux 或者 MAC OS 其實比較好安裝,如果要在 windows 上就不好弄了..

首先將 CodeIgniter Model 加強,讓 Model 在使用資料庫上更加的人性化

Google 一下就會有很多資料了,在這邊就不多做解釋了。

 

不過要注意 如果要使用 PHP ActiveRecord 的話,請先確定 PHP 版本是少要到 3 以上 ! 

以及 php.ini 內的 php_pdo_mysql.dll 要被啟用。

安裝方法其實 Google 到的資訊不多..

但最主要參考 http://www.youtube.com/watch?v=RL-loGlI2t4 這部教學內容就夠了

這位作者還放了很多關於使用例子。

以下是影片中安裝概略,如果有差錯請自行再參考影片!

基本上就算環境是在 Windows 或 USBWebserver v8.5 上面也是可以成功的!

 

1. 首先當然先下載好 CodeIgniter ,下載後檔案 CodeIgniter_2.1.3.zip 即是。

2. 可到 http://getsparks.org/install#option-1 看安裝過程,先下載 spark-manager,下載後檔案 spark-manager-0.0.9.zip 即是。

3. 解壓縮 CodeIgniter_2.1.3.zip 後可以先命名該資料夾名稱為 CodeIgniter,並且放於你的 Web Server 的根目錄。

4. 在目錄內新增一個資料夾命名為 tools,並且將 spark-manager-0.0.9.zip 的內容解壓縮至此。

5. 一樣在 http://getsparks.org/install#option-1 下載 MY_Loader.php,並且將檔案放置 CodeIgniter/application/core/ 內。

6. 使用 command line 了,先開啟 cmd.exe(mac、linux 使用終端機) 並且位置移到 CodeIgniter 目錄下,然後下指令 php tools/spark install php-activerecord 並且執行。

7. 完後會發現 CodeIgniter 目錄下會多出一個資料夾名稱為 sparks 那就代表成功啦!

8. 開啟 CodeIgniter/application/config/autoload.php 並且加入一行程式碼 $autoload['sparks'] = array('php-activerecord/0.0.2'); 即可。

基本上,跑完以上步驟就算完成 CodeIgniter 的 PHP ActiveRecord 匯入了!!

 

測試!

如果想在自己試試看是真的安裝成功,可以自己試試看一個 Model ,不過首先你要先設定資料庫連線。

1. 先開啟 CodeIgniter/application/config/database.php 填寫要連接資料庫的 username、password、database... 等資訊。

2. 建立資料表並且命名為 members,可以新增幾個欄位,並且先新增幾筆資料。

3. 在 CodeIgniter/application/models/ 目錄下新增文件,並且命名為 member.php,並且將內容修改成如下:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
  class Member extends ActiveRecord\Model {
    static $table_name = 'members';
  }
?>

 

4. 然後開啟文件 CodeIgniter/application/controllers/welcome.php,將其內容修改成如下:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
  class Welcome extends CI_Controller {
    public function index()   {
      $result = Member::all();
      echo "<pre>";
      print_r ($result);
      echo "</pre>";
    }
  }
?>

 

5. 以上步驟完後,再開啟瀏覽器,並且輸入網址 http://127.0.0.1/CodeIgniter/ 即可看到結果。

詳細的 PHP ActiveRecord 使用方式其實在官網都有詳細範例了,詳情可以參考 http://www.phpactiverecord.org/

張貼者:吳政賢發佈。
瀏覽人數:481 人