Guzzle/Goutte — базовая очистка — передача переменной в запрос

В настоящее время я использую простой сканер php под названием Goutte. Он использует Guzzle для выполнения http GET запросов. Я могу выполнять действия очистки. Однако я пытаюсь передать/вывести переменную внутри filter, но получаю ошибку Undefined variable: x. Переменная определена. Как правильно передать переменную для фильтрации?

$client = new Goutte\Client();
$crawler = $client->request('GET', 'http://github.com/');
$crawler = $client->click($crawler->selectLink('Sign in')->link());
$form    = $crawler->selectButton('Sign in')->form();
$x       = "hello";
$crawler = $client->submit($form, array('login' => 'xxxxx', 'password' => 'xxxxx'));
$crawler->filter('.flash-error')->each(function ($node) {
    echo $x;
    print $node->text() . "\n";
});

person MaryCoding    schedule 24.09.2016    source источник


Ответы (1)


Пытаться:

$crawler->filter('.flash-error')->each(function ($node) use (&$x) {
    echo $x;
    print $node->text() . "\n";
});

Вы можете удалить &, если вам не нужно изменять его в этой функции. Для ссылки на наследование родительских переменных внутри анонимных функций.

person segFault    schedule 24.09.2016