代码之家  ›  专栏  ›  技术社区  ›  Robert Sinclair

$event如何用于“逻辑挂钩”?

  •  1
  • Robert Sinclair  · 技术社区  · 8 年前

    我看到这个示例代码,它包含一个名为stampit的方法,该方法有两个参数$focus和$event

    class AddTimeStamp
    {
        function StampIt(& $focus, $event)
        {
            global $current_user;
            $focus->description .= "Saved on ". date("Y-m-d g:i a"). " by ". $current_user->user_name;         }
    }
    

    我只是想了解在哪里使用$event参数,因为stampit方法中没有提到它。

    资料来源: http://support.sugarcrm.com/Documentation/Sugar_Developer/Sugar_Developer_Guide_6.5/Application_Framework/Module_Builder/Introduction/

    1 回复  |  直到 8 年前
        1
  •  2
  •   Jay    8 年前

    $event 将包含运行时当前正在执行的事件/挂钩类型的名称。 如果一个方法被连接到多个事件中,并且需要根据触发它的事件改变它的逻辑,那么这是有用的。

    在这个特定的例子中,我们知道 美元事件 将始终包含字符串 before_safe 因为这是我们的示例方法所涉及的唯一事件。没有其他事件会调用该方法。

    这就是为什么在本例中变量保持未使用状态的原因,因为无论如何,该方法不必处理超过该单个事件类型的事件,也不会通过读取获得任何新信息。 美元事件 .