Не могу понять, как отобразить простую строку из моего объекта
Я новичок в объектах и классах, но я пытаюсь создать класс для одного из моих простых запросов на мыло, чтобы я мог вызывать статус задания только по номеру задания. Я не могу сказать, как использовать результат статуса, хотя могу подтвердить, что он работает.
Вот что у меня в классе
public function validatejob() {
$client = new SoapClient('http://server/Service.asmx?wsdl');
$user = array("Username" => "", "Password" => "");
$jobnumber = $this->jobnumber;
$response1 = $client->GetSummaryJobStatus(
array(
"Credentials" => $user,
"JobNumber" => $jobnumber,
));
//$response1 -> GetSummaryJobStatusResult;
echo $response1 -> GetSummaryJobStatusResult;
}
Вот что на моей странице:
$soap = new Soap; //create a new instance of the Users class
$soap->storeFormValues( $_POST );
$soap->validatejob();
print_r($soap->$response1->GetSummaryJobStatusResult);
Это напечатано на странице:
HISTORY Fatal error: Cannot access empty property in /home/shawmutw/public_html/client/support.php on line 10
Вы можете видеть, что это терпит неудачу, но ИСТОРИЯ - это результат, который я ищу. Как правильно отобразить часть истории или сохранить ее в переменной для использования?
2 ответа
Вы должны определить свойство класса и назначить ответ на него следующим образом:
class A {
public $response1;
public function validateJob() {
...
$this->response1 = $client->GetSummaryJobStatus(
...
}
}
Затем вы можете получить доступ к свойству класса через ваш экземпляр следующим образом:
print_r($soap->response1->GetSummaryJobStatusResult);
Ваш метод validateJob ничего не возвращает и не сохраняет результат ни в каком свойстве, поэтому нет доступа к нему вне этого метода.
return $response1; // will help inside the method
$job = $soap->validateJob(); // save result
var_dump($job); // see what you get.