синтаксическая ошибка при использовании функции php pack () внутри класса

Я должен использовать Функция PHP pack () сделать что-то в моих кодах. Но когда я делаю это внутри класса, я получаю ошибки ниже. Принимая во внимание, что если я использую это обычно (без использования в классе), это работает без любой ошибки.

class encryption
{
$my_key = pack('H*', "123456");
}

и это ошибка:

Parse error: syntax error, unexpected T_VARIABLE, expecting T_FUNCTION in ...

Также, если я использую public за $my_keyЯ получу новую ошибку.

class encryption
{
public $my_key = pack('H*', "123456");
}

Ошибка:

Parse error: syntax error, unexpected '(', expecting ',' or ';' in ...

Что не так в моих кодах?

0

Решение

При определении переменной для класса вне функции вы не можете использовать другую функцию для ее определения. Если вам нужно, чтобы это значение было при инициализации, установите значение в функции конструктора. Ваш класс будет выглядеть так:

class encryption
{
public $my_key;

public function __construct() {
$this->my_key = pack('H*', "123456");
}
}
2

Другие решения

class encryption
{
public $my_key;

public function __construct()
{
$this->my_key = $this->pack('H*', "123456");
// will always be executed when you create an object of this class
}

private function pack($arg1, $arg2)
{
// return something
}
}
0

По вопросам рекламы [email protected]