Как вывести данные из класса?
Пробую вывести данные из класса в самый низ для обработки. Выдает пустые значения. Делаю так. Выводит ошибки. Перепробовал варианты - всегда возвращает пусто, либо не достаточно аргументов для функции
<?php ini_set('max_execution_time', 0); include __DIR__ . "/../phpClient/websocketCore.php"; class websocketBinance extends websocketCore { function __construct($Address) { if (parent::__construct($Address) == false) {return;} $respo = $this->readSocket(); echo var_dump(json_encode($respo)); // успешно получаем данные $respo } } } $x = new websocketBinance("wss://stream.binance.com:9443/ws/btcusdt@bookTicker"); /// пробуем получить данные------------------> $test = new websocketBinance(); echo $test->respo; /// ничего не получили |
<?php ini_set('max_execution_time', 0); include __DIR__ . "/../phpClient/websocketCore.php"; class websocketBinance extends websocketCore { function __construct($Address) { if (parent::__construct($Address) == false) {return;} $respo = $this->readSocket(); echo var_dump(json_encode($respo)); // успешно получаем данные $respo } } } $x = new websocketBinance("wss://stream.binance.com:9443/ws/btcusdt@bookTicker"); /// пробуем получить данные------------------> $test = new websocketBinance(); echo $test->respo; /// ничего не получили
Uncaught ArgumentCountError: Too few arguments to function websocketBinance::__construct(), 0 passed in ............. websocketBinance->__construct() #1 {main} thrown in |
Uncaught ArgumentCountError: Too few arguments to function websocketBinance::__construct(), 0 passed in ............. websocketBinance->__construct() #1 {main} thrown in
Дополнительно:
$x = new websocketBinance("wss://stream.binance.com:9443/ws/btcusdt@bookTicker"); /// пробуем получить данные------------------> echo $x->respo; |
$x = new websocketBinance("wss://stream.binance.com:9443/ws/btcusdt@bookTicker"); /// пробуем получить данные------------------> echo $x->respo;
- Получилось. Благодарствую!
Ответы:
Что то вроде этого, добавить классу свойство respo
class websocketBinance extends websocketCore { public $respo; ... $this->respo = $this->readSocket(); .... } |
class websocketBinance extends websocketCore { public $respo; ... $this->respo = $this->readSocket(); .... }
- Вот так??
<?php
ini_set('max_execution_time', 0);
include __DIR__ . "/../phpClient/websocketCore.php";
class websocketBinance extends websocketCore {public $respo;
function __construct($Address) {
if (parent::__construct($Address) == false) {return;}$respo = $this->readSocket();
echo var_dump(json_encode($respo));
// успешно получаем данные $respo$this->respo = $this->readSocket();
}
}
}$x = new websocketBinance("wss://stream.binance.com:9443/ws/btcusdt@bookTicker");
/// пробуем получить данные------------------>
$test = new websocketBinance();
echo $test->respo; /// ничего не получили - Sun2790, Ну так $test инициализируете с пустым URL поправьте $test = new websocketBinance("wss://stream.binance.com:9443/ws/btcusdt@bookTicker"); или запросите у уже инициализированного $x->respo;
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для вывода данных из класса в PHP можно использовать методы класса, свойства класса или магические методы. Вот несколько способов, которые могут помочь вам вывести данные из класса:
1. Использование методов класса:
class MyClass { private $data; public function __construct($data) { $this->data = $data; } public function getData() { return $this->data; } } $obj = new MyClass('Hello, World!'); echo $obj->getData(); // Выведет 'Hello, World!'
2. Использование свойств класса:
class MyClass { public $data; public function __construct($data) { $this->data = $data; } } $obj = new MyClass('Hello, World!'); echo $obj->data; // Выведет 'Hello, World!'
3. Использование магического метода __toString():
class MyClass { private $data; public function __construct($data) { $this->data = $data; } public function __toString() { return $this->data; } } $obj = new MyClass('Hello, World!'); echo $obj; // Выведет 'Hello, World!'
4. Использование метода в другом методе класса:
class MyClass { private $data; public function __construct($data) { $this->data = $data; } public function getData() { return $this->data; } public function printData() { echo $this->getData(); } } $obj = new MyClass('Hello, World!'); $obj->printData(); // Выведет 'Hello, World!'
Надеюсь, эти примеры помогут вам вывести данные из класса в PHP. Если у вас есть дополнительные вопросы, не стесняйтесь задавать.