вызов функции из класса в php - PullRequest
0 голосов
/ 11 ноября 2011

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

<?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;

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

Ответы [ 2 ]

1 голос
/ 11 ноября 2011

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

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 голосов
/ 11 ноября 2011

Примерно так:

<?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();
...