我一直在寻找答案,但我无法得到明确的解释。
这是一个对象吗?它有哪些属性或方法?
编辑1
所以句柄属于资源类型,PHP中的资源类型意味着某种外部资源。
这个资源的内涵是什么?
答案 0 :(得分:6)
在引擎盖下,resource
是一个C
指针变量,除非您明确关闭它,否则它将保持活动状态。示例是打开文件,数据库连接等在您的情况下是卷曲句柄。
如果你深入研究C
(PHP写的是C),你会经常找到那种句柄。
要获取PHP中任何对象的类型,您可以发出:
$type = gettype($variable);
如果$type
等于object
,您可以使用get_class()
获取课程名称:
if($type === 'object') {
$type = get_class($variable);
}
如果您尝试使用卷曲手柄,您会看到它是resource
:
$curl = curl_init();
var_dump(gettype($curl)); // string(8) "resource"
顺便说一句,在每个PHP函数的文档页面顶部,您将找到该函数的签名,对于curl_init()
,它看起来像这样:
resource curl_init ([ string $url = NULL ] )
您看,返回类型为resource
。但是由于PHP方法的松散类型系统被允许返回各种返回类型。特别是在出错的情况下,大多数PHP方法都会返回false
。查看Return Values
部分,了解您将在PHP中使用的每种方法。
答案 1 :(得分:0)
来自 PHP-8 CurlHandle
has become object
,而不是 resource
。要在该对象上获取一些属性/操作,您需要使用 curl-functions。