Включая функцию внутри одинарных кавычек - PullRequest
0 голосов
/ 17 ноября 2009

Я пытаюсь понять, почему я не могу включить функцию в это. Я пытаюсь сделать так, чтобы $client пробился в строку запроса. http://test.com/next.xml?file=$client&test=againtest

$client ОПРЕДЕЛЕНО как текст из моей базы данных.

function update($pro){
    $request = 'http://test.com/next.xml?file='.$client'&'.'test='.urlencode($pro);;
    $postargs = 'status='.urlencode($pro);
    return $this->process($request,$postargs); 
}

Есть ли определенный способ сделать это? Это не дает мне никаких ошибок PHP, но работает неправильно. Если я удаляю '.$client.' и заменяю его простым текстом, таким как text, он работает, но когда я включаю его как функцию, он не работает.

Ответы [ 2 ]

4 голосов
/ 17 ноября 2009

Похоже, $client не определено.

Если эта переменная определена вне области действия функции, она не будет доступна, если вы не определите ее как глобальную переменную

global $client

Это не рекомендуется, но лучший способ сделать это - передать $client в качестве параметра функции

Узнайте больше о переменных областях http://php.net/manual/en/language.variables.scope.php

2 голосов
/ 17 ноября 2009

Вы должны изменить свой код так, вы забудете о конкатенации строк:

$request = 'http://test.com/next.xml?file=' . $client . '&test=' . urlencode($pro);

Используйте пробелы между точками и строками - просто создайте правило для этого. И вы увидите все, что вы опечатки!

...