Apex 教程


手冊簡介

Apex是由Salesforce.com開發(fā)的專有語言。 根據(jù)官方定義,Apex是一種強類型,面向?qū)ο蟮木幊陶Z言,允許開發(fā)人員在Force.com平臺服務器上執(zhí)行流量和事務控制語句,同時調(diào)用Force.com API。

手冊說明

什么是Apex?

Apex是由Salesforce.com開發(fā)的專有語言。 根據(jù)官方定義,Apex是一種強類型,面向?qū)ο蟮木幊陶Z言,允許開發(fā)人員在Force.com平臺服務器上執(zhí)行流量和事務控制語句,同時調(diào)用Force.com API。


apex教程


它具有類似Java的語法,并且像數(shù)據(jù)庫存儲過程。 它使開發(fā)人員能夠向大多數(shù)系統(tǒng)事件添加業(yè)務邏輯,包括按鈕點擊,相關記錄更新和Visualforce頁面??梢酝ㄟ^Web服務請求和對象上的觸發(fā)器啟動代理代碼。 Apex包含在Performance Edition,Unlimited Edition,Enterprise Edition和Developer Edition中。


Apex

Apex作為語言的特點

集成

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é)果,以及代碼的哪些部分可以更高效。


開發(fā)人員應在何時選擇Apex?

當我們不能使用預構(gòu)建和現(xiàn)有的開箱即用功能來實現(xiàn)復雜的業(yè)務功能時,應使用Apex。下面的情況下,我們需要在Salesforce配置使用Apex。


APEX應用程序

我們可以使用Apex,當我們想:

  • 通過集成其他系統(tǒng)來創(chuàng)建Web服務。
  • 為電子郵件創(chuàng)建電子郵件服務或電子郵件設置。
  • 同時對多個對象執(zhí)行復雜的驗證以及自定義驗證實現(xiàn)。
  • 創(chuàng)建現(xiàn)有工作流功能或流不支持的復雜業(yè)務流程。
  • 創(chuàng)建自定義事務邏輯(在整個事務上發(fā)生的邏輯,而不僅僅是單個記錄或?qū)ο螅?,例如使用Database方法更新記錄。
  • 當有一些事件導致觸發(fā)器觸發(fā)時,當記錄被修改或修改相關對象的記錄時,執(zhí)行一些邏輯。

Apex的工作結(jié)構(gòu)

如下圖所示(參考:Salesforce開發(fā)人員文檔),Apex完全按需運行Force.com平臺:

Apex的工作結(jié)構(gòu)


操作流程:

當開發(fā)人員保存代碼并且最終用戶執(zhí)行調(diào)用Apex代碼的一些操作時,有兩個操作序列,如下所示:

  • 開發(fā)人員操作:當開發(fā)人員將Apex代碼寫入并保存到平臺時,平臺應用程序服務器首先將代碼編譯為一組可由Apex運行時解釋程序理解的指令,然后將這些指令保存為元數(shù)據(jù)。
  • 最終用戶操作:當最終用戶觸發(fā)Apex的執(zhí)行時,通過單擊按鈕或訪問Visualforce頁面,平臺應用程序服務器從元數(shù)據(jù)檢索編譯的指令,并在返回結(jié)果之前通過運行時解釋器發(fā)送它們。與標準應用程序平臺請求相比,最終用戶觀察到執(zhí)行時間沒有差異。


由于Apex是Salesforce.com的專有語言,它不支持一般編程語言支持的某些功能。例如,以下是Apex不支持的一些功能:

  • 它不能在用戶界面中顯示元素。
  • 您不能更改標準SFDC提供的功能,也不能防止標準功能的執(zhí)行。
  • 不支持創(chuàng)建臨時文件。
  • 創(chuàng)建多個線程也是不可能的,因為我們可以在其他語言中做到。


了解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編程概念。

Apex代碼段


適用人群

本教程是針對開始學習的Salesforce的Apex編程。本教程將帶給你知識的中級心尖規(guī)劃覆蓋了所有的Apex的重要方面完全動手代碼的經(jīng)驗。


學習前提

需要Salesforce的平臺和開發(fā)的基本知識。Apex是具有到與Salesforce使用的編程語言。本教程假設你已經(jīng)安裝將被用來做我們的Apex編程的Salesforce實例。


更新記錄

在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號