PHP如何声明一个类成员?

时间:2013-12-20 20:40:11

标签: php

与PHP略有混淆,因为它没有声明对象变量类型。 这是简化的代码,不起作用。我明白为什么我得到一个错误,但不知道如何在PHP中我可以指定$ pb是一个PushBot对象,所以它有可以使用的方法。

    class Bot 
{

     public $pb;

//Constructor
 function __construct(){
     require_once('../PushBots.class.php');
     // Application ID
     $appID = '';
     // Application Secret
     $appSecret = '';
     // Push The notification with parameters
     $this ->pb = new PushBots();
     $this ->pb->App($appID, $appSecret);

     }

//Method. The $this->pb->Push() does not work
 public function sendMessage(){
        $this->pb->Push();
     }

}

//客户端调用类

$bot = new Bot();
$bot->sendMessage();

我得到的错误是:

解析错误:语法错误,行

时意外'$'
$this->pb->Push();

被召唤。

我猜它是因为它不知道$ pb在这个阶段是一个PushBot对象吗?

我是否可以声明:

Public Pushbot $pb;

1 个答案:

答案 0 :(得分:1)

Parse error: syntax error, unexpected '$' for when the line

这是一个解析错误,这意味着您的代码甚至尚未运行。检查您的代码是否有任何sytnax错误(您发布的代码不包含语法错误)。

  

在PHP中如何指定$ pb是一个PushBot对象

虽然与语法错误无关,但如果使用某种依赖性反转,则可以使用类型提示来要求传递某个对象:

// will cause fatal error if anything other than an object of type Pushbot is passed
function __construct(Pushbot $pb)