On twitter

@siegfy 會先死掉 ...

follow me on twitter

Posts Tagged ‘CodeIgniter’

stickeraction reborn soon 6

StickerAction reborn ... soon ...

除了把 stickeractionphp + codeigniter 整個換成 python + django 之外, UI 也整個翻新了, 希望能夠趕快弄好上線, 我就不想管了 (攤)

弄 html + css 真的是比寫 code 還要困難, 而且花時間 ~”~

ORM library for CodeIgniter 7

DataMapper
http://stensi.com/datamapper/

IgnitedRecord
http://www.assembla.com/wiki/show/bnqonahgCr3zI3ab7jnrAJ

這兩個 ORM library 可以試試看, 不過目前我好像偏好直接寫 SQL, 長長一串好像看起來比較爽 …

不過我是覺得, CodeIgniter namespace 的問題… 會在使用這些 ORM 的時候造成一些困擾 囧rz

像是 CodeIgniter 的 Controller, Library 跟 Model 的 class name 本來就不能一樣了, 但至少 Model 的名稱叫做 foo_model 之類的, 還可以避開, 但是 ORM 多個 postfix …不是很奇怪?

倒是希望 CodeIgniter 可以解決 name space 這個問題先 ~”~

November 3rd, 2008 CodeIgniter Tags: , , , ,

CodeIgniter 1.7.0 更新 2

CodeIgniter 在 10/23 釋出了 1.7.0 版本, 來列出一些我覺得比較重要的改變好了, 詳細的改變還是請看 Changelog

1. 新增 form_validation library
這個版本最主要的就是新增了一個 form_validation 的 library 用來取代舊有的 validation library, 而 validation library 也在 1.7.0 開始被列為 deprecated。 ( 應該翻做不建議使用? ) anyway, validation library 的文件也已經從 user guide 移除了, 不過 validation 依然可用, 只是得找時間換成 form_validation 就是了。

看了一下 form_validation 的文件, 這次的更新, 大幅降低了以往 validation 囉唆使用的方式, 改成了跟 kohana 2.1 時的 validation 類似的方式, 簡單許多, 很不賴。

以往的 validation 真的是是很囉唆, 像是這樣

$rules['name'] = 'required|alpha_numeric|max_length[20]';
$rules['email'] = 'required|valid_email';
$rules['web'] = 'required|prep_url';
$this->validation->set_rules($rules);

$fields['name'] = '名稱';
$fields['email'] = 'email';
$fields['web'] = '網站';
$this->validation->set_fields($fields);

現在簡化許多, 變成是

$this->form_validation->set_rules('name', '名稱', 'required|alpha_numeric|max_length[20]');
$this->form_validation->set_rules('email', 'email', 'required|valid_email');
$this->form_validation->set_rules('web', '網站', 'required|prep_url');

不像以往是把 set_rules 跟 set_fields 分開作, 現在在 set_rules 直接一起把 set_fields 的部份做掉了, 寫起來輕鬆許多。

2. 可另外指定 library 載入後的物件名稱
以往, 原本 library 的 class name 叫什麼, 在使用的時候就得用 class name 來使用, 沒有辦法另外指定比較短的名稱來方便使用, 以 simplepie 來說:

$this->load->library('simplepie');
$this->simeplepie->function_name();

從 1.7.0 之後就可以這樣:

$this->load->library('simplepie', '', 'sp');
$this->sp->function_name();

這樣感覺還不錯 :D 不過以上只是舉例, 我還是依舊用 simplepie 這個名稱 XD

October 30th, 2008 Programming Tags: , ,

CodeIgniter 搭配 svn:externals 做無痛升級 4

昨天看到了 CodeIgniter 釋出了新版的 1.7.0, 所以就打算來升級一下, 不過想起以往在升級 CodeIgniter 的時候, 由於有使用 SVN 來當作 VCS, 所以每個目錄裡面都會有 .svn, 所以沒辦法直接覆蓋目錄, 所以當時就一個一個目錄的打開, 把該升級的檔案覆蓋掉, 沒辦法直接換目錄, 否則 svn 的資訊就都會不見了。

所以昨天找了一下 svn:externals 的用法, 透過 svn:externals 就可以很快的昇級 CodeIgniter system。

一開始新的 CI project 我都會把 /system/application 這個目錄給搬出來。 可以直接搬出來成為 /application 而不用改任何程式。 平常也根本動不到 /system 目錄裡面的東西。 如此一來只要把 /system 設為 svn:externals 指到 CodeIgniter SVN 就可以自動更新了。 但前提是沒有修改 /system 裡面的檔案。
Read the rest of this entry »

October 26th, 2008 Programming Tags: , , ,

CodeIgniter Database 跟 Model 怎麼用? 4

其實最早在剛接觸 CodeIgniter 的時候記得是版本 1.5.2, 那時候 Model 都這麼寫, 例如下面的 User_Model。

class User_model extends Model {
    function __construct() {
        parent::__construct();
    }

    function get_by_name($name) {
        $this->db->where('name', $name);
        $query = $this->db->get('users');
        if ($query->num_rows()) {
            return $query->row();
        }

        return false;
    }

    function get_all() {
        $query = $this->db->get('users');
        if ($query->num_rows()) {
            return $query->result();
        }

        return array();
    }
}

Read the rest of this entry »

September 18th, 2008 CodeIgniter Tags: , ,
Partners of Oceanic / 人生海海

jiwo sca wellmeet