2011年4月22日 星期五

ZendFramework使用FreeTDS連接Sybase

請務必把/etc/freetds.conf

中該資料庫  的TDS版本 設定為tds version = 6.3 或 6.0才會正常

ZF的INI設定

resources.db.adapter = "PDO_MSSQL"
resources.db.params.pdoType = "dblib"
resources.db.params.host = "名稱"
resources.db.params.username = "帳號"
resources.db.params.password = "密碼"
resources.db.params.dbname = "資料庫名稱"


如果沒有設成tds version = 6.3
會有登入錯誤的問題

(SQLSTATE[28000] Login incorrect. (severity 9) )

參考

http://blog.wabow.com/archives/335

2011年4月17日 星期日

PHP的__call

在Ruby中如果呼叫該物件沒有的方法時可透過(method_missin)來處理
def method_missing(id, *args)
    return self.find(Regexp.last_match(1),  args[0]) if id.id2name =~ /find_by_(.+)/
    raise NoMethodError
  end

如果是PHP則透過__call來達到同等的目的

詳見

活用 PHP5 的 magic methods


2011年4月7日 星期四

ZendFramework的分頁

       
         網路上很像很少人在講Zend_Paginator::factory
         這個ZF原裝分頁類
        在初始化(factory)時,可以用ZF_model或array都可以分頁


        $Plists = $qunit -> getList(0);
       
        //分頁設定
         $limit = $this -> _getParam('limit', 10);
         $page = $this -> _getParam('page', 1);
       

           //分頁
          
        $paginator = Zend_Paginator::factory($Plists);
       
        $paginator -> setCurrentPageNumber($page)
             -> setItemCountPerPage($limit);
        $uCount = $paginator ->getTotalItemCount();

        $this -> view ->assign('fromData', $paginator);

       $uCount   總筆數
        $limit  每頁筆數
       $page 預設從第幾頁開始
       $paginator 分頁處理後的資料集

2011年4月6日 星期三

ZendFramework的預設route

 當我們的網址Action 為group-user-add
ctrl會對應至public function groupUserAddAction()
而 view會對應至group-user-add.phtml 




當使用group_user_add
ctrl會對應至groupuseradd
而view還是會對應至group-user-add.phtml
所以可以利用下底線的組合來共用同名ctrl切換不同view?

是偶然嗎?

2011年4月1日 星期五

Zend_Session

Zend_Session::rememberMe();

不帶參數的話,可以使SESSION生命週期為兩周
 帶參數的話以秒為單位。