I'ld нравится динамически создавать столько объекта, который присутствует в моем $ массиве экземпляра (например domain1_com
и domain2_com
) и дать им название значения массива (например, domain1_com
и domain2_com
), так что я могу получить доступ к нему через эти имена (например, domain1_com->example()
).Как создать динамически объекты на основе значений массива в php?
Возможно ли это? Я пробовал что-то вроде этого, но, очевидно, не работает.
class myClass
{
public static function getInstances()
{
// I connect to the database and execute the query
$sql = "SELECT * FROM my_table";
$core = Core::getInstance();
$stmt = $core->dbh->prepare($sql);
if ($stmt->execute()) {
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
}
// Read values in my array
foreach ($results as $instance) {
$obj = $instance["domain"]);
// return 2 values: domain1_com and domain2_com
$obj = new myClass();
}
}
public function example()
{
echo "This is an instance";
}
}
myClass::getInstances();
$domain1_com->example();
$domain2_com->example();
Спасибо, но я не могу получить доступ к объектам – KaMZaTa
Что вы имеете в виду? вы обращаетесь к ним так же, как вы их создавали. –
С внешней стороны класса, если я делаю '$ domain1_com-> example()' например, он ничего мне не показывает – KaMZaTa