以下代码摘自一个 pheanstalk 正在实现并正常工作的示例(从 pheanstalk 的 github 页面获得:https ://github.com/pda/pheanstalk ):
<?php
require_once("vendor/autoload.php");
use Pheanstalk\Pheanstalk;
$pheanstalk = new Pheanstalk('127.0.0.1');
// ------------ producer (queues jobs):
$pheanstalk
->useTube('testtube')
->put("job payload goes here\n");
// ------------ worker (performs jobs):
$job = $pheanstalk
->watch('testtube')
->ignore('default')
->reserve();
echo $job->getData();
$pheanstalk->delete($job);
// ------------ check server availability
$pheanstalk->getConnection()->isServiceListening(); // true or false
问题:
我不明白的是以下部分:
我假设
producer
代码中的换行符对执行没有任何影响,所以这一行是等价的:$pheanstalk->useTube('testtube')->put("job payload goes here\n");
正确的?如果这是真的,那么这些特定的函数调用是否必须按该顺序排列,或者它们可以按任何顺序排列?我之前对 php 中的函数和类的理解是,你可以直接从它的类类型的对象调用函数:$object->classFunction()
但是,上面的代码是一种有效的 php 技术,你可以同时调用所有这些函数,还是对 pheanstalk 来说是特殊的?
ignore('default')
代码在做什么?$pheanstalk->getConnection()->isServiceListening();
代码在做什么?