Openbiz 技術開發手冊之中繼資料簡單運算式

來源:互聯網
上載者:User
關鍵字 PHP

仲介交易 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檔中定義的自訂函數。

範例

  

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.