2014-01-22 5 views
0

У меня есть вопрос, когда речь идет об использовании классов, конструкторов и функцийИспользование классов и функций

Я пытаюсь использовать json_encode и эхо-массив. Может ли кто-нибудь указать мне правильное направление здесь? Я не знаю, что я делаю неправильно, я думал, что это правильно, но я не думаю. Любая помощь приветствуется. Благодарю.

Отсутствие ошибок или выход.

class information 
{ 

    public $motd, $owner, $greeting; 
    public $array; 

    function __construct($motd, $owner, $greeting){ 
     $this->motd = $motd; 
     $this->owner = $owner; 
     $this->greeting = $greeting; 
    } 

    function test(){ 
     $array = array(
     'motd' => $motd, 
     'owner' => $owner, 
     'greeting' => $greeting 
     ); 
     $pretty = json_encode($array); 
     echo $pretty; 
    } 

} 


$api = new information('lolol','losslol','lololol'); 
$api->test; 
?> 
+3

что вам нужно * вызов * 'метод test'. '$ api-> test();' –

+0

и ваш массив будет пустым, должен быть: motd '=> $ this-> motd, ' owner '=> $ this-> owner, ' greeting '=> $ this -> приветствие – Steve

+0

Запомните * прочитайте * много кода и * test * намного больше. Таким образом, вы узнаете лучше, чем попросить о помощи по первому вопросу. – Lucio

ответ

3

Две ошибки:

  1. Вы пропускаете $this:

    $array = array(
        'motd' => $this->motd, 
        'owner' => $this->owner, 
        'greeting' => $this->greeting 
    ); 
    
  2. Вам нужно позвонить $api->test().
    Ваш текущий код проверяет только $api->test (что приводит к ссылке на функцию) и выбрасывает значение.

+0

Это была моя проблема, мне жаль, что это была пустая трата сообщения. Спасибо. – BlueFireMedia

+0

@BlueFireMedia Нет проблем, но, пожалуйста, не забудьте принять ответ за каждый отправленный вами вопрос: [как принимает ответ?] (Http://meta.stackexchange.com/a/5235/191400) (если есть ответ, который кажется вам достаточным) – ComFreek

1

Вам нужно вызвать метод test, и вы должны ссылаться на переменные правильно:

class information 
{ 

    public $motd, $owner, $greeting; 
    public $array; 

    function __construct($motd, $owner, $greeting){ 
     $this->motd = $motd; 
     $this->owner = $owner; 
     $this->greeting = $greeting; 
    } 

    function test(){ 
     $array = array(
     'motd' => $this->motd, // note the $this-> 
     'owner' => $this->owner, // note the $this-> 
     'greeting' => $this->greeting // note the $this-> 
     ); 
     $pretty = json_encode($array); 
     echo $pretty; 
    } 

} 


$api = new information('lolol','losslol','lololol'); 
$api->test(); // note the() 
?> 
Смежные вопросы