Немного путают с PHP, потому что он не объявляет типы переменных объекта. Это упрощенный код, который не работает. Я получаю, почему я получаю сообщение об ошибке, но не уверен, как в PHP я могу указать, что $ pb является объектом PushBot, и поэтому у него есть методы, которые можно использовать.PHP, как объявить члена класса?
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;
PHP не является строго типизированный язык. Значит, вы можете иметь либо int, либо объект PushBots, либо любой другой тип в любой переменной. Вы также можете перезаписывать переменные разными типами. Я вообще не рекомендую это делать. –
Это не имеет никакого отношения к типу объекта - у вас есть базовая синтаксическая ошибка. Это ваш фактический код? Попробуйте использовать редактор с подсветкой кода, NetBeans покажет вам синтаксические ошибки. Редактирование: я вижу, вы сказали, что упростили код - разместите свой ACTUAL-код - строку до и после ошибки. – Jessica
абсолютно, но как это сказать в функции sendMessage(), что $ pb является PushBot и поэтому имеет метод Push() – drlobo