Apex 程式碼概觀
Apex 是強大類型的物件導向程式語言,可讓開發人員在 Salesforce Platform 上執行流程和交易控制陳述式。Apex 可讓開發人員將業務邏輯新增至大多數系統事件,包括按鈕點擊、相關記錄更新和 Visualforce 頁面。Apex 程式碼可由 Web 服務要求及物件上的觸發起始。
必要版本
| 提供版本:Salesforce Classic (並非所有組織皆適用) 和 Lightning Experience |
| 提供版本:Enterprise、Performance、Unlimited、Developer 及 Database.com Edition |
Apex 以兩種不同的形式儲存在 Salesforce Platform 上:
- 類別:這是建立 Apex 物件的來源範本或藍圖。類別是由其他的類別、使用者定義的方法、變數、例外類型和靜態初始化程式碼所組成。進入「設定」,在「快速尋找」方塊中輸入 Apex 類別,然後選取「Apex 類別」。
- 觸發是可在發生特定的資料操作語言 (DML) 事件之前或之後執行的 Apex 程式碼,例如在將物件記錄插入資料庫之前,或在刪除記錄之後。觸發會儲存為 Salesforce 中的中繼資料。組織中所有觸發的清單都位於「設定」中的「Apex 觸發」頁面上。
在 API 67.0 版及更新版本中,Apex 資料庫作業依預設會在使用者環境中執行,這表示在程式碼執行期間會強制執行目前使用者的權限和欄位級安全性 (FLS)。在 API 66.0 版及更早版本中,系統模式為預設。
單元測試必須至少涵蓋您 75% 的 Apex 指令檔,才能將程式碼部署於生產環境。此外,所有的觸發都必須有部分測試範圍。
建立類別與觸發以及測試後,請使用「開發人員主控台」或在「VS 程式碼」中使用 Salesforce Extensions for Visual Studio Code 來重新執行執行。
只有在 Developer Edition 組織、Salesforce Enterprise Edition 試用組織或 Sandbox 組織中,您才可以使用 Salesforce 使用者介面新增、編輯或刪除 Apex。在 Salesforce 生產組織中,您只能使用中繼資料 API deploy 呼叫、Salesforce Extensions for Visual Studio Code 或 Ant 移轉工具來變更 Apex。Salesforce Extensions for Visual Studio Code 與 Ant 移轉工具是 Salesforce 提供以支援使用者和合作夥伴的免費資源,不屬於 Salesforce 主要服務契約中關於我方所提供服務的一部分。
如需有關語法和 Apex 使用的詳細資訊,請參閱《Apex 開發人員指南》。
- Apex 開發人員指南與開發人員工具
《Apex 開發人員指南》與《Apex 參考指南》提供 Apex 程式語言的完整參照。《Apex 開發人員指南》會說明如何叫用 Apex、如何處理限制、如何撰寫測試等。《Apex 參考指南》提供有關 Apex 類別、介面、例外狀況等的參照資訊。若要撰寫 Apex 程式碼,您可以從多個 Salesforce 與協力廠商工具中選擇。 - 定義 Apex 類別
Salesforce 會將 Apex 類別儲存為中繼資料。 - 定義 Apex 觸發
使用觸發可以叫用 Apex 程式碼。Apex 觸發可以在變更 Salesforce 記錄 (例如插入、更新、刪除) 的前後進行設定以執行自訂動作。 - 執行匿名 Apex 程式碼
開發人員主控台可讓您執行 Apex 程式碼,以另外一種方式產生涵蓋特定應用程式邏輯的除錯記錄。 - 若發生 Apex 例外,會如何?
若發生例外,程式碼執行會停止。在例外之前處理的任何 DML 作業會回復且不會認可至資料庫。例外會記錄在除錯記錄中。針對未處理的例外,也就是程式碼未找出的例外,Salesforce 會傳送一封包含例外資訊的電子郵件。一般使用者會在 Salesforce 使用者介面中看到一則錯誤訊息。 - 處理受管理封裝的 Apex 例外
當您建立 AppExchange 的受管理封裝時,若 Apex 沒有抓到發生的例外,您可以指定接受電子郵件通知的使用者。 - 管理 Apex 類別
Apex 類別是建立 Apex 物件的來源範本或藍圖。類別是由其他的類別、使用者定義的方法、變數、例外類型和靜態初始化程式碼所組成。 - 管理 Apex 觸發
觸發是可在發生特定的資料操作語言 (DML) 事件之前或之後執行的 Apex 程式碼,例如在將物件記錄插入資料庫之前,或在刪除記錄之後。 - 管理 Apex 的版本設定
為了協助回溯相容性,Apex 類別和觸發會與 Salesforce API 和任何參照的受管理封裝版本設定一起儲存。 - 檢視 Apex 類別
建立類別後,您可以檢視類別中包含的程式碼、儲存類別時依據的 API,以及類別是否有效或啟用。 - 檢視 Apex 觸發詳細資料
Apex 觸發會在與其相關聯之物件下的應用程式中儲存為中繼資料。 - 從 WSDL 建立 Apex 類別
Apex 類別可從本機硬碟或網路上儲存的 WSDL 文件自動產生。 - 監視 Apex 工作佇列
「Apex 工作設定」頁面有關於 Apex 工作的資訊,包括非同步 Apex 用量百分比及已超出 24 小時組織限制使用的 Apex 作業數目。監視 Apex 工作的狀態,以在發生前緩解潛在限制問題。 - 監視 Apex 彈性佇列
使用「Apex 彈性佇列」頁面來檢視及重新排序狀態為「保留」的所有批次工作。或者使用 Apex 程式碼來以程式設計的方式重新排序批次工作。 - 排程 Apex 工作
如果您要定期執行特定的 Apex 類別,或使用 Salesforce 使用者介面執行批次 Apex 工作,請使用 Apex 排程器和Schedulable介面。 - Apex 常見問題
常見問題 關於外部 Web 服務、支援的 WSDL 結構描述類型,以及 Apex 類別與觸發之間的差異。
