Apex - 调用

Apex调用是指执行Apex类的过程。 Apex 类只能在通过下列方式之一调用时执行 −

  • 触发器和匿名块

  • 为指定事件调用的触发器

  • 异步 Apex

  • 安排 Apex 类以指定的时间间隔运行,或运行批处理作业

  • Web 服务类

  • Apex 电子邮件服务类

  • Apex Web 服务,允许通过 SOAP 和 REST Web 服务公开您的方法

  • Visualforce 控制器

  • Apex 电子邮件服务处理入站电子邮件

  • 使用 JavaScript 调用 Apex

  • 用于调用 Apex 中实现的 Web 服务方法的 Ajax 工具包

我们现在将了解调用 Apex 的几种常见方法。

来自执行匿名块

您可以通过在开发者控制台中执行匿名来调用 Apex 类,如下所示 −

第 1 步 − 打开开发者控制台。

第 2 步 − 单击"调试"。

Apex 从执行匿名步骤1调用

第 3 步 − 执行匿名窗口将打开,如下所示。 现在,单击执行 按钮+;

Apex 从执行匿名步骤2调用

第 4 步 − 当调试日志出现在"日志"窗格中时,将其打开。

Apex 从执行匿名步骤3调用

来自触发器

您也可以从 Trigger 调用 Apex 类。 触发器在指定事件发生时被调用,触发器在执行时可以调用Apex类。

以下示例代码显示了调用触发器时如何执行类。

示例

// 将从触发器调用的类
public without sharing class MyClassWithSharingTrigger {

   public static Integer executeQuery (List<apex_customer__c> CustomerList) {
      // 在这里执行一些逻辑和操作
      Integer ListSize = CustomerList.size();
      return ListSize;
   }
}

// 触发代码
trigger Customer_After_Insert_Example on APEX_Customer__c (after insert) {
   System.debug('Trigger is Called and it will call Apex Class');
   MyClassWithSharingTrigger.executeQuery(Trigger.new);  // Calling Apex class and 
                                                         // method of an Apex class
}

// 这个例子仅供参考,无需执行,具体看后面的章节。

来自 Visualforce 页面控制器代码

也可以从 Visualforce 页面调用 Apex 类。 我们可以指定控制器或控制器扩展,然后指定的 Apex 类将被调用。

示例

VF 页面代码

Apex 从 VF 页面调用 Step1

Apex 类代码(控制器扩展)

Apex 从 VF 页面调用 Step2