2011-11-11 3 views
-4

У меня есть класс в некоторых функциях этого класса. все функции имеют переменные. код написан нижевызов функции из класса в php

<?php 
class myclass{ 
    public function getresults{ 
     $url = 'http://www.slideshare.net/api/2/search_slideshows?q=google'; 
     echo $url; 
     $ch=curl_init(); 
     curl_setopt($ch, CURLOPT_URL, $url); 
     curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30); 
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
     curl_setopt($ch, CURLOPT_USERAGENT, 'Your application name'); 
     $query = curl_exec($ch); 
     $errorCode = curl_errno($ch); 
     curl_close($ch); 
     $array = (array) simplexml_load_string($query); 
     //echo '<pre>'; 
     //print_r($array); 
     public $TotalResults; 
     $TotalResults = $array['Meta']->TotalResults; 
     echo "function is correct"; 
    } 

} 

, когда я называю эту забаву

echo $obj1->TotalResults; 

это дает ошибку ко мне. пожалуйста, помогите мне и измените мой код.

+7

ли мы предположить, что ошибка? –

+0

@rajzana: Дайте нам более подробную информацию об ошибке - в вашем коде есть некоторые проблемы, но они могут быть не все, а не самые важные. – Tadeck

ответ

1

вы неправильно использовали переменные члены:

class myclass{ 
    public $TotalResults; // <-- added member variable 
    public function getresults{ 
     $url = 'http://www.slideshare.net/api/2/search_slideshows?q=google'; 
     echo $url; 
     $ch=curl_init(); 
     curl_setopt($ch, CURLOPT_URL, $url); 
     curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30); 
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
     curl_setopt($ch, CURLOPT_USERAGENT, 'Your application name'); 
     $query = curl_exec($ch); 
     $errorCode = curl_errno($ch); 
     curl_close($ch); 
     $array = (array) simplexml_load_string($query); 
     //echo '<pre>'; 
     //print_r($array); 
     $this->TotalResults = $array['Meta']->TotalResults; // <-- corrected 
     echo "function is correct"; 
    } 
} 

и после вы $obj->getresults() (где $obj должен инстанциируемый на $obj = new myclass(); до), то $obj->TotalResults должен содержать то, что вы хотели.

Помогло ли это?

0

Что-то вроде этого:

<?php 
class myclass { 

    public function getresults() 
    { 
    $url = 'http://www.slideshare.net/api/2/search_slideshows?q=google'; 
    echo $url; 
    $ch=curl_init(); 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_USERAGENT, 'Your application name'); 
    $query = curl_exec($ch); 
    $errorCode = curl_errno($ch); 
    curl_close($ch); 
    $array = (array) simplexml_load_string($query); 
    //echo '<pre>'; 
    //print_r($array); 
    public $TotalResults; 
    $TotalResults = $array['Meta']->TotalResults; 
    echo "function is correct"; 
    } 
} 

$obj = new myclass; 
echo $obj1->getresults(); 
Смежные вопросы