Как вывести данные из класса?

Ссылка скопирована
1 ответ

Пробую вывести данные из класса в самый низ для обработки. Выдает пустые значения. Делаю так. Выводит ошибки. Перепробовал варианты - всегда возвращает пусто, либо не достаточно аргументов для функции

<?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;
Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Юрий Linux Ответ

Для вывода данных из класса в PHP можно использовать методы класса, свойства класса или магические методы. Вот несколько способов, которые могут помочь вам вывести данные из класса:

1. Использование методов класса:

class MyClass {
    private $data;
 
    public function __construct($data) {
        $this-&gt;data = $data;
    }
 
    public function getData() {
        return $this-&gt;data;
    }
}
 
$obj = new MyClass('Hello, World!');
echo $obj-&gt;getData(); // Выведет 'Hello, World!'

class MyClass { private $data; public function __construct($data) { $this-&gt;data = $data; } public function getData() { return $this-&gt;data; } } $obj = new MyClass('Hello, World!'); echo $obj-&gt;getData(); // Выведет 'Hello, World!'

2. Использование свойств класса:

class MyClass {
    public $data;
 
    public function __construct($data) {
        $this-&gt;data = $data;
    }
}
 
$obj = new MyClass('Hello, World!');
echo $obj-&gt;data; // Выведет 'Hello, World!'

class MyClass { public $data; public function __construct($data) { $this-&gt;data = $data; } } $obj = new MyClass('Hello, World!'); echo $obj-&gt;data; // Выведет 'Hello, World!'

3. Использование магического метода __toString():

class MyClass {
    private $data;
 
    public function __construct($data) {
        $this-&gt;data = $data;
    }
 
    public function __toString() {
        return $this-&gt;data;
    }
}
 
$obj = new MyClass('Hello, World!');
echo $obj; // Выведет 'Hello, World!'

class MyClass { private $data; public function __construct($data) { $this-&gt;data = $data; } public function __toString() { return $this-&gt;data; } } $obj = new MyClass('Hello, World!'); echo $obj; // Выведет 'Hello, World!'

4. Использование метода в другом методе класса:

class MyClass {
    private $data;
 
    public function __construct($data) {
        $this-&gt;data = $data;
    }
 
    public function getData() {
        return $this-&gt;data;
    }
 
    public function printData() {
        echo $this-&gt;getData();
    }
}
 
$obj = new MyClass('Hello, World!');
$obj-&gt;printData(); // Выведет 'Hello, World!'

class MyClass { private $data; public function __construct($data) { $this-&gt;data = $data; } public function getData() { return $this-&gt;data; } public function printData() { echo $this-&gt;getData(); } } $obj = new MyClass('Hello, World!'); $obj-&gt;printData(); // Выведет 'Hello, World!'

Надеюсь, эти примеры помогут вам вывести данные из класса в PHP. Если у вас есть дополнительные вопросы, не стесняйтесь задавать.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно