規格版本
Version 0.2 : 2008/08/07 by scribe
Version 0.1 : 2007/08/07 by scribe & RT
方法一覽
constructor
FlagHelper function FlagHelper(string $status='')
輸入文章屬性產生 FlagHelper 物件
參數:
$status - 文章屬性欄的內容
// 一般來說你會透過 PIO 的 getPostStatus() 來取得一個設定好的 FlagHelper 物件而不是直接呼叫它 // 下面各範例的 $flagh 自此而來,不要想說它怎麼憑空出現 // $post[0]['status'] 來自於 PIO 讀取文章資料後的結構 $flagh = $PIO->getPostStatus($post[0]['status']);
toString
string function toString()
輸出 FlagHelper 物件為文章屬性原始儲存字串
回傳值: string 形態的文章屬性原始儲存字串,格式為_(屬性)_ 或 _(屬性):(值)[:(值)…]_
echo $flagh->toString(); // _Counter:3224__TS__GoodNumber:1:4:8_
get
mixed function get(string $flag)
取得單一文章屬性原始儲存字串,格式為(屬性) 或 (屬性):(值)[:(值)…]
參數:
$flag - 欲取得的文章屬性
// 取出 TS 屬性原始儲存字串 $flagh->get('TS'); // TS // 取出 Counter 屬性原始儲存字串 $flagh->get('Counter'); // Counter:3224
exists
boolean function exists(string $flag)
檢查指定文章屬性是否存在。
參數:
$flag - 欲檢查的文章屬性
回傳值: 文章屬性是否存在
// 檢查看看是否有討論串鎖定代表屬性 TS echo $flagh->toString(); // _TS_ $flagh->exists('TS'); // true
value
mixed function value(string $flag)
取得文章屬性值。
參數:
$flag - 欲取得的文章屬性
回傳值:
切換式屬性會回傳boolean,而非切換式屬性會回傳其屬性值(單一或是陣列)。
echo $flagh->toString(); // _Counter:3224__TS__GoodNumber:1:4:8_ // 取得 Counter 屬性值 $flagh->value('Counter'); // '3224' // 取得 TS 屬性 (切換式屬性回傳 boolean) $flagh->value('TS'); // true // 取得不存在的 SAGE 屬性 $flagh->value('SAGE'); // false // 取得 GoodNumber 屬性 $flagh->value('GoodNumber'); // array('1', '4', '8')
add
FlagHelper function add(string $flag, mixed $value=null)
update 函式的別名。使用方法詳見 update 函式。
update
FlagHelper function update(string $flag, mixed $value=null)
加入或更新指定屬性。如果需要加入多個屬性值,傳入陣列即可。
參數:
$flag - 欲加入或更新的文章屬性
$value - 欲加入或更新的文章屬性的值
回傳值:
回傳 FlagHelper 物件作進一步處理。
// 將 Counter 屬性值改成 1036 $flagh->update('Counter', 1036); // 新增 TS 屬性,不要忘記其實 add 是 update 的別名而已,作的事一樣 $flagh->update('TS'); // 更新 GoodNumber 資料,一次儲存多個值 $flagh->update('GoodNumber', array(1, 4, 7, 15));
replace
string function replace(string $from, string $to)
將一個文章屬性以另一個文章屬性取代。
參數:
$from - 要被取代的文章屬性
$to - 將要取代成為的文章屬性
回傳值:
回傳整列文章屬性欄。
// 將 TS 改成 SAGE echo $flagh->toString(); // _TS_ $flagh->replace('TS', 'SAGE'); echo $flagh->toString(); // _SAGE_
remove
FlagHelper function remove(string $flag)
移除指定屬性。
參數:
$flag - 欲移除的文章屬性
回傳值:
回傳 FlagHelper 物件作進一步處理。
// 移除 TS (討論串是否停止) 的設定 echo $flagh->toString(); // _TS__SAGE_ $flagh->remove('TS'); echo $flagh->toString(); // _SAGE_
toggle
FlagHelper function toggle(string $flag)
切換指定屬性。
參數:
$flag - 欲切換的文章屬性
回傳值:
回傳 FlagHelper 物件作進一步處理。
// 切換 TS (討論串是否停止) 的設定 $flagh->value('TS'); // true $flagh->toggle('TS'); $flagh->value('TS'); // false
join
string function join(mixed $arg0, …)
將多個屬性值組合為FlagHelper所使用的格式。
參數:
$arg - 欲組合的文章屬性值。如果是普通陣列(如 value 函式輸出的陣列)將會被展開。
回傳值:
回傳FlagHelper所使用的文章屬性值格式用作進一步處理。
// 下列動作可以將陣列平版化 (Flatten) 以方便儲存,但是一般來說你不會直接使用這個函式 // 因為 update 的時候系統會自動判斷存入的屬性值是不是陣列,進而幫你做這個平版化動作 echo $flagh->join(array(1, 4, 8)); // 1:4:8
offsetValue
FlagHelper offsetValue(string $flag, number $offset)
將指定屬性值的儲存數字增加或減少指定的數字並儲存。
參數:
$flag - 欲修改的文章屬性
$offset - 增加減少值,可以是正數或負數,類型 int 或 float
回傳值:
回傳 FlagHelper 物件本身。
// 下列動作可以讓 HP 儲存屬性值減 999 $flagh->offsetValue('HP', -999);
plus
FlagHelper plus(string $flag)
將指定屬性值的儲存數字加一,儲存。
參數:
$flag - 欲修改的文章屬性
回傳值:
回傳 FlagHelper 物件本身。
// 下列動作可以讓 Counter 屬性旗標值加一儲存,省去其他繁瑣步驟 $flagh->plus('Counter'); // 上面一行等同下面這兩行任一 (效果皆相同) $flagh->update('Counter', intval($flagh->value('Counter')) + 1); $flagh->offsetValue('Counter', 1);
minus
FlagHelper minus(string $flag)
將指定屬性值的儲存數字減一,儲存。
參數:
$flag - 欲修改的文章屬性
回傳值:
回傳 FlagHelper 物件本身。
// 下列動作可以讓 Counter 屬性旗標值減一儲存,省去其他繁瑣步驟 $flagh->minus('Counter'); // 上面一行等同下面這兩行任一 $flagh->update('Counter', intval($flagh->value('Counter')) - 1); // 其實 minus 內部也只是幫你做了下面這行 $flagh->offsetValue('Counter', -1);