Apex 程式碼概觀
Apex 是一種強大類型的物件導向程式語言,可讓開發人員在 Lightning 平台伺服器上執行流程和交易控制陳述式,連同呼叫 Lightning 平台 API。Apex 使用類似 Java 且用途類似資料庫儲存程序的語法,可讓開發者將商業邏輯加入大多數的系統事件,包括按下按鈕、相關記錄更新以及 Visualforce 頁面。Apex 程式碼可由網路服務要求及物件的觸發起始。
必要版本
| 提供版本:Salesforce Classic (並非所有組織皆適用) 和 Lightning Experience |
| 提供版本:Enterprise、Performance、Unlimited、Developer 及 Database.com Edition |
Apex 可以兩種不同的形式儲存在平台上:
- 類別:這是建立 Apex 物件的來源範本或藍圖。類別是由其他的類別、使用者定義的方法、變數、例外類型和靜態初始化程式碼所組成。進入「設定」,在「快速尋找」方塊中輸入 Apex 類別,然後選取「Apex 類別」。
- 觸發是可在發生特定的資料操作語言 (DML) 事件之前或之後執行的 Apex 程式碼,例如在將物件記錄插入資料庫之前,或在刪除記錄之後。觸發會儲存為 Salesforce 中的中繼資料。組織中所有觸發的清單都位於「設定」中的「Apex 觸發」頁面上。
Apex 通常在系統環境中執行,換言之,程式碼執行期間不會考慮到目前使用者的權限與欄位級安全性。但是不會一律略過共用規則:必須使用 without sharing 關鍵字宣告類別,才能確保不會強制執行共用規則。
單元測試必須至少涵蓋您 75% 的 Apex 指令檔,才能將程式碼部署於生產環境。此外,所有的觸發都必須有部分測試範圍。
建立類別和觸發以及測試後,使用「開發人員主控台」重新執行執行。
只有在 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 類別與觸發之間的差異。

