jsCallback
jsCallback 类用于生成 js 函数代码的助手,可以方便定义 JS 回调函数。
构造
构造方法
定义
php
public function __construct(string ...$args)参数
$args:JS 回调函数的参数名称列表。
示例:
php
$callback = new jsCallback('message', 'name');
$callback->name('showMessage')->do
(
'console.log(message, name)',
);
$callback->toJS(); // 输出:function showMessage(message, name) {console.log(message, name)}辅助方法
通过与 jsCallback 类同名的辅助函数来快速创建 jsCallback 对象。
定义
php
function jsCallback(string ...$args): jsCallback;参数
$args:JS 回调函数的参数名称列表。
返回值
jsCallback对象。
例如:
php
jsCallback('message', 'name')
->name('showMessage')
->do
(
'console.log(message, name)'
);提示
推荐使用辅助方法 jsCallback() 来创建 jsCallback 对象,相比较 new jsCallback() 语法,辅助方法更加简洁。
属性
$funcName
JS 回调函数的名称,定义:
php
public ?string $funcName = null;$funcArgs
JS 回调函数的参数名称列表,定义:
php
public array $funcArgs = array();$isArrowFunc
是否为箭头函数,定义:
php
public bool $isArrowFunc = false;方法
name
设置函数名称。
定义
php
public function name(?string $name): self参数
$name:函数名称,如果为null则不设置名称。
返回值
self自身,支持链式调用。
args
设置函数参数名称列表。
定义
php
public function args(string ...$args): self参数
$args:函数参数名称列表。
返回值
self自身,支持链式调用。
arrow
设置是否使用箭头函数。
定义
php
public function arrow(bool $arrow = true): self参数
$arrow:是否使用箭头函数。
返回值
self自身,支持链式调用。
buildBody
构建函数体 JS 代码。
定义
php
public function buildBody(string $joiner = "\n"): string参数
$joiner:函数体代码的连接符。
返回值
string函数体 JS 代码。
returnData
添加 return 语句。
定义
php
public function returnData(mixed $data = null): self参数
$data:要返回的数据。
返回值
self自身,支持链式调用。
toVar
转换为变量。
定义
php
public function toVar(?string $name = null, bool $const = false): string参数
$name:变量名称,如果为null则使用默认名称。$const:是否为常量。
返回值
string变量定义代码。
toConst
转换为常量变量,相当于 toVar($name, true)。
定义
php
public function toConst(?string $name = null): string参数
$name:变量名称,如果为null则使用默认名称。
返回值
string变量定义代码
静态成员
__callStatic
魔术方法,用于定义函数。
定义
php
public static function __callStatic(string $name, array $args): jsCallback;参数
$name:window对象上的成员名称,将作为函数名称。$args:如果有指定参数,则将成员作为函数参数。
返回值
jsCallback对象。
示例:
php
jsCallback::showMessage('message', 'name')
->do
(
'console.log(message, name)'
);