函数形态
PHP 函数形态一般如下所示:
<?php
function main_handler($event, $context) {
print_r ($event);
print_r ($context);
return "hello world";
}
?>
执行方法
在创建 SCF 云函数时,均需要指定执行方法。使用 PHP 开发语言时,执行方法类似 index.main_handler
,此处 index
表示执行的入口文件为 index.php
,main_handler
表示执行的入口函数为 main_handler
函数。
在使用本地 ZIP 文件上传、COS 上传等方法提交代码 ZIP 包时,请确认 ZIP 包的根目录下包含指定的入口文件,文件内有定义指定的入口函数、文件名、函数名和执行方法,避免因为无法查找到入口文件和入口函数导致执行失败。
入参
PHP 环境下的入参包括 $event 、$context。
$event:使用此参数传递触发事件数据。
$context:使用此参数向您的处理程序传递运行时信息。
event 的具体内容,根据不同触发器或调用来源而变化。详细数据结构说明请参见 触发器相关说明。 注意:
PHP 8.0、PHP 7.4、PHP 7.2、PHP 5.6 入参 event 和 context 格式为 object
。
返回
您的处理程序可以使用 return
来返回值,根据调用函数时的调用类型不同,返回值会有不同的处理方式。
在 PHP 环境下,您可以直接返回一个可序列化的对象。例如,返回一个 dict
对象:
同步调用:使用同步调用时,返回值会序列化后以 JSON 的格式返回给调用方,调用方可以获取返回值来进行后续处理。例如,通过控制台进行函数调试的调用方法就是同步调用,能够在调用完成后捕捉到函数返回值并显示。
异步调用:异步调用时,由于调用方法仅触发函数就返回,不会等待函数完成执行,因此函数返回值会被丢弃。
说明:
无论同步调用还是异步调用,返回值均会在函数的日志中记录。返回值将写入函数调用日志的 SCF_Message
中,格式为 Response RequestId:xxx RetMsg:xxx
。
SCF_Message
的值长度限制为8KB,超出时将截取前8KB。
异常处理
在函数中,可以通过调用 die()
退出函数。此时函数会被标记为执行失败,同时日志中也会记录使用 die()
退出时的输出。
本页内容是否解决了您的问题?