Ваше соглашение об именах затрудняет понимание ваших намерений, хотя я считаю, что вам нужно следующее. По сути вы пытаетесь усердно срезать углы.
Каждый «статус» имеет набор переменных, которые образуют круг, как определено в вашем SVG. Просто отредактируйте ваш класс, чтобы включить их как таковые, и переименуйте ваши переменные.
<?php
class myCircle
{
$name;
$height;
$width;
$cx;
$cy;
$r;
$stroke;
$stroke-width;
$fill;
private function _print()
{
echo "<svg id='$this->name' height='$this->height' width='$this->width'>
<circle cx='$this->cx' cy='$this->cy' r='$this->r' stroke='$this->stroke' stroke-width='$this->stroke-width' fill='$this->fill' />
</svg>";
}
private function _set($name, $height, $width, $cx, $cy, $r, $stroke, $stroke-width, $fill)
{
$this->name = $name;
$this->height = $height;
$this->width = $width;
$this->cx = $cx;
$this->cy = $cy;
$this->r = $r;
$this->stroke = $stroke;
$this->stroke-width = $stroke-width;
$this->fill = $fill;
}
}
Конец класса.
Вы не указали, что именно является вашим условием $, поэтому я не включил его в свой ответ. Но чтобы выполнить это, а затем использовать свой класс, вам просто нужно сделать следующее:
(либо поместите свой класс myCircle на ту же страницу php, либо включите его, а затем)
<div id="circles">
<?php if($condition){
$daily = new myCircle;
$daily->_set("testCircle", "300", "300", "150", "150", "100", "black", 3, "green");
$daily->_print();
}else{
// Nothing?
} ?>
<div>
Или для ваших трех кругов:
<?php
$circles = array("green", "orange" "red");
?>
<div id="circles">
<?php
if($condition){
for($i = 0; $i < count($circles); $i++){
$daily = new myCircle;
$daily->_set($circles[$i], "300", "300", "150", "150", "100", "black", 3, $circles[$i]);
$daily->_print();
}
} else{
// Do nothing
}
?>
</div>