у меня проблемы !
Я только начал работать с php, но я все понимаю, но я пытаюсь понять одну вещь, но не могу … (
Итак, проблема в том, что я создаю класс, например, такой:
class User{
public $name;
public $password;
public function getPassword()
{
return $this->password;
}
public function getName()
{
return $this->name;
}
}
Когда я пытаюсь создать массив объектов этого класса, предварительно заполненный объектами данных:
{
$arrayUsers = new ArrayObject();
$user1 = new User();
$user1->name="lol";
$user1->password=9898898;
$user2 = new User();
$user2->name="lal";
$user2->password=988;$user3 = new User();
$user3->name="lRus";
$user3->password=1;$arrayUsers->append(array($user1,$user2,$user3));
}
И после попытки вернуть объект (класс пользователя) из массива, то он не работает … (перепробовал много способов, просто пробовал класс массива)
Итак, у меня есть два вопроса:
1. Как выбраться из этого массива объекта класса пользователя?
1.1 В этом случае функции объекта продолжают работать. Например :
$obtainedObject_parentClass_is_User->getName();
//Log : "lol"
2. Если ответ на предыдущий вопрос невозможен, то как реализовать массив, в котором вы можете получить объект, после которого вы можете использовать?
Например, вот так:
$obtainedObject_parentClass_is_User->getName();
//Log : "lol"
Я думаю, что вы можете быть запутаны между классом PHP ArrayObject а также массив объектов.
Вы можете объявить свой массив объектов в одном выражении, например,
$users = [
'user_1' => new User(),
'user_2' => new User(),
'user_3' => new User()
];
Затем вы можете назначить свойства как,
$users['user_1']->name = 'Barry';
$users['user_1']->password = 'superSecret';
/// etc...
Затем, чтобы получить данные,
echo $users['user_1']->getName(); // returns Barry
Других решений пока нет …