如何访问PHP资源


How to access a PHP resource

我使用第三方PHP模块返回PHP资源:

resource(1, ABCResult)

虽然手册描述了如何使用返回的对象,但我不确定如何实际访问对象?

代码是这样的:

$resource = get_new_resource_based_on('this-information');

var_Dump($resource)输出

resource(1, ABCResult)

手册说明如下:

方法检查帐户持有人的用户名和密码。

方法返回ABCResult类的实例。

返回ABCResult类实例的方法:success如果存在用户名和密码,则返回true,否则- false

如果用户名/密码对没有用户,则返回错误文本。

如果发现用户具有相同的用户名和密码,则返回ID

资源是一个不透明的blob,没有内在意义。它通常表示来自外部库分配的外部资源的内容;这意味着,例如,如果您正在使用gd库编辑图像,gd库会分配内存来保存该图像。外部资源不是"在PHP中",它不是一个类或对象。但是你的代码仍然需要某种方式来引用外部资源;这就是资源。

资源只对分配它的扩展/函数有用。要用它"访问"或"做"任何事情,你需要使用可以与它一起工作的函数。这完全取决于资源是什么以及你应该用它做什么

我将此归咎于糟糕的文档。从文档来看,它可能是这样的:

$resource = get_new_resource_based_on('this-information');
if ($resource->success()) {
    echo 'User ID = '.$resource->ID;
} else {
    echo 'Error: '.$resource->error;
}