Apex是由Salesforce.com開發(fā)的專有語言。 根據(jù)官方定義,Apex是一種強類型,面向?qū)ο蟮木幊陶Z言,允許開發(fā)人員在Force.com平臺服務器上執(zhí)行流量和事務控制語句,同時調(diào)用Force.com API。
Apex是由Salesforce.com開發(fā)的專有語言。 根據(jù)官方定義,Apex是一種強類型,面向?qū)ο蟮木幊陶Z言,允許開發(fā)人員在Force.com平臺服務器上執(zhí)行流量和事務控制語句,同時調(diào)用Force.com API。
集成
Apex內(nèi)置支持DML操作,如INSERT,UPDATE,DELETE以及DML異常處理。它支持內(nèi)聯(lián)SOQL和SOSL查詢處理,返回一組sObject記錄。我們將在以后的章節(jié)中詳細研究sObject,SOQL,SOSL。
Java語法和易于使用
Apex很容易使用,因為它使用像Java這樣的語法。例如,變量聲明,循環(huán)語法和條件語句。
數(shù)據(jù)高度集成
Apex數(shù)據(jù)集中和設計,以一起執(zhí)行多個查詢和DML語句。它發(fā)出的多個數(shù)據(jù)庫事務語句。
強類型
Apex是強類型語言。它使用直接引用構(gòu)架對像,比如sObject,并且任何無效引用如果被刪除或者如果是錯誤的數(shù)據(jù)類型,就會快速失敗。
多租戶環(huán)境
Apex在多租戶環(huán)境中運行。因此,Apex運行時引擎設計為密切防范失控代碼,防止其獨占共享資源。任何違反限制的代碼都會失敗,并顯示易于理解的錯誤消息。
自動升級
Apex作為Salesforce版本的一部分進行升級。我們不必手動升級。
容易測試
Apex為單元測試創(chuàng)??建和執(zhí)行提供內(nèi)置支持,包括指示覆蓋了多少代碼的測試結(jié)果,以及代碼的哪些部分可以更高效。
當我們不能使用預構(gòu)建和現(xiàn)有的開箱即用功能來實現(xiàn)復雜的業(yè)務功能時,應使用Apex。下面的情況下,我們需要在Salesforce配置使用Apex。
我們可以使用Apex,當我們想:
如下圖所示(參考:Salesforce開發(fā)人員文檔),Apex完全按需運行Force.com平臺:
操作流程:
當開發(fā)人員保存代碼并且最終用戶執(zhí)行調(diào)用Apex代碼的一些操作時,有兩個操作序列,如下所示:
由于Apex是Salesforce.com的專有語言,它不支持一般編程語言支持的某些功能。例如,以下是Apex不支持的一些功能:
Apex代碼通常包含許多我們可能從其他編程語言熟悉的東西。
變量聲明:作為強類型語言,必須使用Apex中的數(shù)據(jù)類型聲明每個變量。如下面的代碼(下面的截圖)所示,lstAcc被聲明為數(shù)據(jù)類型為帳戶列表。
SOQL查詢:這將用于從Salesforce數(shù)據(jù)庫獲取數(shù)據(jù)。下面屏幕截圖中顯示的查詢是從Account對象獲取數(shù)據(jù)。
循環(huán)聲明:此循環(huán)語句用于迭代一個列表或迭代一段代碼指定的次數(shù)。在下面的屏幕截圖中顯示的代碼中,迭代將與lstAcc中的記錄數(shù)相同。
流控制語句:If語句用于此代碼中的流控制?;谔囟l件,決定是執(zhí)行還是停止執(zhí)行特定代碼段。例如,在下面顯示的代碼中,它檢查列表是否為空或者它包含記錄。
DML語句:對數(shù)據(jù)庫中的記錄執(zhí)行記錄插入,更新,上升,刪除操作。例如,以下代碼正在使用新字段值更新帳戶。
以下是Apex代碼段的外觀示例。我們將在本教程中進一步研究所有這些Apex編程概念。
本教程是針對開始學習的Salesforce的Apex編程。本教程將帶給你知識的中級心尖規(guī)劃覆蓋了所有的Apex的重要方面完全動手代碼的經(jīng)驗。
需要Salesforce的平臺和開發(fā)的基本知識。Apex是具有到與Salesforce使用的編程語言。本教程假設你已經(jīng)安裝將被用來做我們的Apex編程的Salesforce實例。