在客户端代码中,它最简单的应该是:
<input type="text" id="field1" value="<?php echo $viewallcompanies['tcname']?>" disabled/>
然而,我们正在尝试使用复合设计模式,很快就会变得非常重要。我一直在研究以下内容:
<?php
// Client code
$int1 = new _Integer(2);
$int2 = new _Integer(3);
$operator = new Operator('+');
$op1 = new Operands($int1);
$op2 = new Operands($int2);
// $op1 + $operator + $op2 = Solution === 5
?>
我已经达到了一点,我需要一些动词和名词的帮助,而且还有这个伟大模式背后的逻辑 - 基于这个简单的等式。
提前致谢。
编辑:@PeeHaa。不可否认,它的定义不是很明确。好的,我正在尝试将复合模式应用于算术表达式:
((3 + 4-1)* 5 + 6 * -7)/ 2
<?php
// Use case: 2 + 3 = 5
// Component
interface Solution {
function f();
}
// Composite
class Operands implements Solution {
private $ints = [];
function __construct(_Integer $_integer = null ){
$this->_integer = $_integer;
array_push($this->ints, $this->_integer);
}
function f(){ /* Do nothing */ }
}
// Leaf
class _Integer implements Solution {
private $_int;
function __construct($_int){
$this->_int = $_int;
}
function f(){ /* Do nothing */ }
function getInt(){
return $this->_int;
}
}
// Leaf
class Operator implements Solution {
private $operator;
function __construct($operator){
$valid = in_array($operator, ['+','-','/','*']);
if($valid) $this->operator = $operator;
}
function f(){ /* Do nothing */ }
}
例如,在PHP中。我首先得到了这个想法: https://sourcemaking.com/files/v2/content/patterns/Composite_example1-2x.png
但我正在苦苦挣扎,正在寻找一些指导。