Я создаю систему шаблонов, в которой я создаю каждый тег с помощью цикла foreach. Проблема в том, что некоторые теги зависят друг от друга, поэтому мне интересно, как обойти этот порядок из цикла.
Вот пример:
Class A {
public $width;
__construct() {
$this->width = $B->width; // Undefined! Or atleast not set yet..
}
}
Class B {
public $width;
__construct() {
$this->width = "500px";
}
__tostring() {
return "Hello World!";
}
}
template.php
$tags = array("A", "B");
foreach ($tags as $tag) {
$TagObj[$tag] = new $tag();
}
echo $TagObj['A']->width; // Nadamundo!
РЕДАКТИРОВАТЬ: Хорошо, просто чтобы уточнить .. Моя главная проблема заключается в том, что класс A опирается на класс B, но экземпляр класса A создается перед классом B , поэтому ширина еще не была определена в класс B. Я ищу хороший способ убедиться, что все классы загружены для всех, что позволяет существовать взаимозависимости. В будущем, пожалуйста, не учитывайте синтаксические ошибки. Я только что составил этот пример на месте. Также предположим, что у меня есть доступ к классу B из класса A после создания экземпляра класса B.
Я знаю, что это имеет применение в других местах, и я уверен, что это было решено раньше, если бы кто-то мог просветить меня или указать мне правильное направление, которое было бы здорово!
Спасибо!
Мэтт Мюлер