gpt4 book ai didi

php - 在 php 函数中满足条件时回显类中的 元素

转载 作者:可可西里 更新时间:2023-11-01 01:11:37 25 4
gpt4 key购买 nike

我有一个简单的 代码结合一些 .

我想做的是如下:

我有一个 php 类在我的代码中定义了一些属性。类 - 状态

“状态”的变量 - 圆圈、大小、颜色。

我想链接一个 svg 元素,它给出了圆的大小和半径,然后是颜色。

我有一个函数,当它被满足时,一个 然后语句将需要根据满足的条件显示具有大小和颜色的类圆。

这是类:

<?php

class Statuses
{

var $circle;
var $size;
var $color;

public function print_condition()
{
echo $this->circle;
echo $this->size;
echo $this->color;
}

public function condition($circle, $size, $color)
{
$this->circle = $circle;
$this->size = $size;
$this->color = $color;
}

}

$daily = new Statuses;

$daily->condition("height=\"300\" width=\"300\"", "cx=\"150\" cy=\"150\" r=\"100\"", "stroke=\"black\" stroke-width=\"3\" fill=\"green\"");

$daily->print_condition();

函数如下:

<?php
function funcName()
{
if (condition) {
echo "I want to echo the 'daily' variable here";

} else {
echo "I want to echo the 'none' variable here";

}
}

这是 svg 元素:

  <div id="circles">

<svg id="green" height="300" width="300">
<circle cx="150" cy="150" r="100" stroke="black" stroke-width="3" fill="green" />
</svg>
<br>
<svg id="orange" height="300" width="300">
<circle cx="150" cy="150" r="100" stroke="black" stroke-width="3" fill="orange" />
</svg>
<br>
<svg id="red" height="300" width="300">
<circle cx="150" cy="150" r="100" stroke="black" stroke-width="3" fill="red" />
</svg>

</div>

我不确定如何让 svg 元素在变量中正确显示,我也不确定如何在我的函数中调用变量。

非常感谢您的建议。

最佳答案

你的命名约定很难理解你的意图,尽管我相信以下是你需要的。本质上,您是在竭力偷工减料。

每个“状态”都有一组变量,这些变量构成了您的 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;
}

}

类(class)结束。

您省略了您的 $condition 到底是什么,所以我没有将其包含在我的回答中。但要实现这一点然后使用您的类(class),您只需执行以下操作:

(要么在同一个 php 页面上有你的 myCircle 类,要么包含它,然后)

<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>

关于php - 在 php 函数中满足条件时回显类中的 <svg> 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54286735/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com