仲介交易 SEO診斷 淘寶客 雲主機 技術大廳
中繼資料簡單運算式
為了讓中繼資料更加具有靈活性,可以在元資料檔案中靈活的使用Openbiz簡單運算式。 如果一個語句具有{expr}模式,expr 將會被當作一個運算式來處理。 基本上,一個運算式就是一個可返回一個值的一行PHP語句。 如果使用者需要更加複雜的通過運算式無法實現的邏輯,使用者還可以通過將該中繼資料關聯到一個使用者預定的物件上來編寫特殊邏輯的處理代碼。
運算式標籤
系統目前支援三種運算式標籤
· {expr} 標籤對. Openbiz 將執行php的eval方式來解析{}之間的expr運算式字串
· {fx}expr{/fx} 標籤對. 這是一個詳細版的{}運算式實現。 Openbiz 同樣將執行php的eval方式來解析{fx}和{/fx}之間的expr運算式字串。 例如{fx}10-1{/fx}將返回結果」9」。
· {tx}expr{/tx} 標籤對. 這對標籤告訴Openbiz只需要返回字串本身,而不對其進行處理計算,例如:{tx}10-1{/tx} 將返回字串"10-1".
使用簡單運算式
簡單運算式支援將一個動態數值綁定到中繼資料的屬性上,開發人員可以在如下屬性中使用簡單運算式。
BizDataObj
SearchRule, SortRule, OtherSQLRule, AccessRule, UpdateCondition, DeleteCondition.
BizField
Required, Validator, Value, DefaultValue
EasyForm
Title
Element
Link, Style, Hidden, Enabled, SelectFrom
EventHandler
Function, RedirectPage
資料類型
簡單運算式定義了如下記住資料類型:
· 布林類型: true 或false
· 整數數位: 如同PHP 中的定義
· 浮點數: 如同PHP 中的定義
· 字串: 單引號和雙引號括起來的字元; " 將被轉義為\", '將被轉義為\', \將被轉義為\\.
· 空: null
操作符
簡單表達是支援如下操作符:
· 數學: +, - (binary), *, / and div, % 和mod, - (unary)
· 邏輯: and, &&, or, ||, not, !
· 關係: ==, !=, <, >, <=, >=.
· 條件: A ? B : C.根據A 的返回結構執行B或C語句.
變數
· 簡單運算式允許開發人員調用Openbiz中繼資料物件中的變數、
當前註冊外掛程式服務範例:
· @validation – 資料有效性校驗服務
· @query – 資料查詢服務
如果要註冊一個服務, 可以在$g_ServiceAlias 全域變數中添加該服務名字的註冊
按其實現的原理,開發人員可以通過修改或重載物件的GetProperty()方法來添加更多的屬性支援。 GetProperty() 函數的輸入參數既可以是"property_name" 也可以是"*[child_name]" 或者一些其它的被使用者自訂代碼支援的參數
· 簡單運算式語言業允許開發人員來調用任何PHP所支援的全域變數,關於PHP全域變數請閱讀HTTP://us2.php.net/manual/en/reserved.variables.php瞭解詳情
函數
開發人員可以在簡單運算式中調用任意PHP函數,如果檔中已經包含了函數的定義,那麼即便是使用者自訂函數也可以被調用。 例如:如果中繼資料A是基於使用者自訂類的基礎上創建的,類的代碼檔是A.php,且該檔包含了A_help.inc,在這種情況下您就可以安全的調用在A_help.inc檔中定義的自訂函數。
範例