Может кому покажется странным, но мне нужно в классе получить имя объекта. Ну или посоветуйте, а то в голову ничего не приходит. Суть в чем, я создаю множество <fieldset> на странице, каждый <fieldset> это объект. Но при создании мне нужно каждому указывать свое имя. Как по мне, так нормально было имя задавать по имени объекта. Можно, конечно, при создании объекта дополнительно ручками указывать и имя объекта, но как-то это грустно. Как получить имя класса я нашел, а вот имя объекта? Или это вызовет ошибку, так как в теории класс не знает еще про не созданный объект? PHP: public function outQuestion() { $radio = 0; $name = ""; // здесь бы я хотел получить имя объекта echo "<fieldset>"; echo "<legend><b>".$this->quest."</b></legend>"; foreach ($this->answer as &$value) { echo "<label><input type=\"radio\" name=\"".$name."\" value=\"".$radio."\">".$value."</label><br>"; $radio = $radio + 1; } echo "</fieldset>"; }
Объекта, которого я создаю на основании своего класса. $quest1 = new Questions($text); - Вот мне внутри класса Questions нужно получить имя объекта $quest1
Если появилось желание, чтобы объект знал, какой переменной его присвоили - значит что-то идёт не так...
PHP: $quest1 = new Questions($text, 'quest1'); PHP: class Questions{ public $name; public $text; function __construct($text, $name) { $this->name = $name; $this->text = $text; } public function outQuestion() { $radio = 0; $name = $this->name; } }
У меня будет много <fieldset> на основании одного класса. Сейчас у меня все они имеют одно имя, а мне нужны разные, причем мне потом к каждому надо будет обращаться, чтобы добавлять функционал уже на javaScript. Не знаю, может есть какой-то счетчик, чтобы наращивал значение при создании каждого объекта? --- Добавлено --- А если у меня сотня объектов будет? В БД какой-то автоинкримент для поля делать, чтобы все уникальные были?
@Stang8 на js можно написать: Код (Javascript): let fieldset = document.querySelectorAll('fieldset'); и он все их найдет без каких то там уникальных имен.
@Stang8, или вот, например: How to get values from html input array using JavaScript. Это к тому, что значение атрибутов name поля ввода можно написать так, чтобы данные передавались как массив. А в качестве атрибута data-id, например, можно передавать id записи из базы данных, соответствующей определенной сущности (ну или в качестве индекса массива)
Ну в бд почти в каждой таблице есть автоинкремент. А получить имя переменной нельзя. Тем более, что в php самих объектов в переменных нету, есть только ссылки на объекты