класс — php упс. как свободно использовать переменную?

У меня возникла проблема в одном из моего кода. Я пытаюсь научиться делать упс, но я застрял в понимании принципа объекта.

Я пытаюсь использовать переменную, которую я объявляю как частную, и это предопределено. я не могу сделать это определенным в наборе функций.

class generateRandomString{
private $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
private $randomString = '';

private function setGenerateRandomString($length = 10){

for ($i = 0; $i < $length; $i++) {
$randomString .= $characters[rand(0, strlen($characters) - 1)];
}
}
public function getGenerateRandomString(){
$this->setGenerateRandomString();
return $this->$randomString;
}
}

и я тоже не понимаю, почему нет четкого объяснения этой теме в интернете о том, как использовать класс динамически? или я пропустил это? учебник и урок, которые я нашел, все о том же, что и о том, как установить, получить переменную из вне класса. Мне нужна помощь в том, как полностью использовать класс и функцию, так как я больше строю сложный алгоритм самообслуживания, чем строю систему взаимодействия с пользователем.

и я совершенно новый в классе. простите за вопрос.

0

Решение

В вашей частной функции set вы не ссылаетесь на правильные переменные.

Всякий раз, когда вы ссылаетесь на переменную экземпляра объекта, вы используете $this->variableName, Итак, в вашем setRandomString( ) вызов функции, вам просто нужно обновить переменные до соответствующих переменных экземпляра, например, так:

private function setGenerateRandomString($length = 10){
for ($i = 0; $i < $length; $i++) {
$this->randomString .= $this->characters[rand(0, strlen($this->characters) - 1)];
}
}
1

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

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector