Apex 教程


閱讀(274.7k) 收藏 (11)

手冊簡介

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

手冊說明

什么是Apex?

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


apex教程


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


Apex

Apex作為語言的特點(diǎn)

集成

Apex內(nèi)置支持DML操作,如INSERT,UPDATE,DELETE以及DML異常處理。它支持內(nèi)聯(lián)SOQL和SOSL查詢處理,返回一組sObject記錄。我們將在以后的章節(jié)中詳細(xì)研究sObject,SOQL,SOSL。


Java語法和易于使用

Apex很容易使用,因?yàn)樗褂孟馢ava這樣的語法。例如,變量聲明,循環(huán)語法和條件語句。


數(shù)據(jù)高度集成

Apex數(shù)據(jù)集中和設(shè)計(jì),以一起執(zhí)行多個(gè)查詢和DML語句。它發(fā)出的多個(gè)數(shù)據(jù)庫事務(wù)語句。

強(qiáng)類型

Apex是強(qiáng)類型語言。它使用直接引用構(gòu)架對像,比如sObject,并且任何無效引用如果被刪除或者如果是錯(cuò)誤的數(shù)據(jù)類型,就會(huì)快速失敗。

多租戶環(huán)境

Apex在多租戶環(huán)境中運(yùn)行。因此,Apex運(yùn)行時(shí)引擎設(shè)計(jì)為密切防范失控代碼,防止其獨(dú)占共享資源。任何違反限制的代碼都會(huì)失敗,并顯示易于理解的錯(cuò)誤消息。

自動(dòng)升級

Apex作為Salesforce版本的一部分進(jìn)行升級。我們不必手動(dòng)升級。

容易測試

Apex為單元測試創(chuàng)??建和執(zhí)行提供內(nèi)置支持,包括指示覆蓋了多少代碼的測試結(jié)果,以及代碼的哪些部分可以更高效。


開發(fā)人員應(yīng)在何時(shí)選擇Apex?

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


APEX應(yīng)用程序

我們可以使用Apex,當(dāng)我們想:

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

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

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

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


操作流程:

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

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


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

  • 它不能在用戶界面中顯示元素。
  • 您不能更改標(biāo)準(zhǔn)SFDC提供的功能,也不能防止標(biāo)準(zhǔn)功能的執(zhí)行。
  • 不支持創(chuàng)建臨時(shí)文件。
  • 創(chuàng)建多個(gè)線程也是不可能的,因?yàn)槲覀兛梢栽谄渌Z言中做到。


了解Apex語法

Apex代碼通常包含許多我們可能從其他編程語言熟悉的東西。


變量聲明:作為強(qiáng)類型語言,必須使用Apex中的數(shù)據(jù)類型聲明每個(gè)變量。如下面的代碼(下面的截圖)所示,lstAcc被聲明為數(shù)據(jù)類型為帳戶列表。

SOQL查詢:這將用于從Salesforce數(shù)據(jù)庫獲取數(shù)據(jù)。下面屏幕截圖中顯示的查詢是從Account對象獲取數(shù)據(jù)。

循環(huán)聲明:此循環(huán)語句用于迭代一個(gè)列表或迭代一段代碼指定的次數(shù)。在下面的屏幕截圖中顯示的代碼中,迭代將與lstAcc中的記錄數(shù)相同。

流控制語句:If語句用于此代碼中的流控制?;谔囟l件,決定是執(zhí)行還是停止執(zhí)行特定代碼段。例如,在下面顯示的代碼中,它檢查列表是否為空或者它包含記錄。

DML語句:對數(shù)據(jù)庫中的記錄執(zhí)行記錄插入,更新,上升,刪除操作。例如,以下代碼正在使用新字段值更新帳戶。


以下是Apex代碼段的外觀示例。我們將在本教程中進(jìn)一步研究所有這些Apex編程概念。

Apex代碼段


適用人群

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


學(xué)習(xí)前提

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


更新記錄

在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號