最近用自己開發的Outlaw幫客戶寫微型應用,發現欠缺幾個功能。
分別是singleton data跟使用者驗證機制。我將他們補上之後,以v1.2.0發布。
https://github.com/howtomakeaturn/Outlaw
Singleton Data
有時候需要幾張永遠只有一筆資料的資料表。
像是客戶需要在後台編輯的「關於我們」、「網站基本功能設定」等等的需求。
為了這些撰寫完整的CRUD實在很多餘,因為根本不會insert新資料或是刪除資料。
singleton data將這類資料寫在config檔內:
$config['singleton_data'] = array( 'site' => array( 'name' => 'Kelly', 'contact' => 'Hi, I am Kelly' )
這樣就會自動建出一張只有一筆資料的資料表。
使用方法則是:
// get data $this->data['site'] = $this->ol->readSingleton('site'); // update data $this->ol->updateSingleton('site')
老樣子,只要指定table名稱,其餘的欄位,outlaw會直接從以「ol_」作為prefix的input欄位抓取。
使用者驗證
有時候網站需要一個管理後台,而只會有一個admin user需要登入。
當網站資料並不是敏感資料的時候,為了這個去實作password hash、 會員系統、登入頁面等等,實在太耗時。
outlaw authentication將這類資料寫在config檔內:
$config['auth'] = array( 'user' => 'admin', 'password' => 'admin_pass' );
在需要保護的頁面加上:
$this->ol->protect();
結語
Outlaw 在v1.2.0加上這兩個功能。
老樣子,開發速度會很快,但非常dirty。
主要適用在insensitive application與prototyping new ideas。
順帶一提,出來的成品是攝影師Kelly的作品集網站:
她是我認識很久的老同學。需要拍照的人,可以聯絡她噢;)
(Photo via Jesse Clockwork, CC licensed)