DuckPhp\Core\ExtendableStaticCallTrait

简介

能扩展静态方法的 Trait 。

使用于

  • 核心类 Core\App

使用于各助手类和 App 类

方法

public static function AssignExtendStaticMethod($key, $value = null)

  1. 分配静态方法。

public static function GetExtendStaticMethodList()

  1. 获得已经扩展的静态方法列表。

public static function __callStatic($name, $arguments)
接管默认的魔术方法

protected static function CallExtendStaticMethod($name, $arguments)

  1. 静态魔术方法的实质调用。

详解

ExtendableStaticCallTrait 这个 Trait 用于 App, ControllerHelper, BusinessHelper, ModelHelper, ViewHelper, AppHelper

作用是动态扩展类的静态方法。

你写自己的扩展的时候会用到。

如果一个类 use ExtendableStaticCallTrait . 你可以用 GetExtendStaticMethodList() 得到这个类有什么额外的静态方法。

如果你要给相应 trait 添加静态方法,使用

  • AssignExtendStaticMethod($method,$callback);
  • AssignExtendStaticMethod($assoc);

assoc 用于批量调用的数组

其中, $callback 为回调。 额外的, $callback 还可以用 “MyClass::G::foo” 相当于回调 MyClass::G()->foo