귀하의 질문에 2 가지 방법이 있습니다. 모든
첫째, 내가 당신에게 로버트 C 마틴의 Clean Code 책에서 인용 보여주지 (제 3 장 : 함수를 함수의 인수 - 인수 개체, 43 페이지가.) :
함수가 더 필요한 것으로 보인다 때 2 개 또는 3 개의 주장보다, 그러한 주장 중 일부는 그들 자신의 클래스로 싸여 져야 할 가능성이있다.
귀하의 값은 RGB 색상을 나타냅니다. 그냥 수업으로 포장하지 않는 이유는 무엇입니까?
class RGB
{
private $blue;
private $green;
private $red;
public function __construct($red , $green , $blue)
{
$this->red = $red;
$this->green = $gree;
$this->blue = $blue;
}
/** others necesary methods **/
}
그리고 단지 당신이 원하는대로 사용
$my_color = new RGB(88, 38, 123);
$myPdf->setFillColor($my_color);
을 그리고 당신은 색상 시스템의 다른 종류를 사용해야하는 경우, 단지 인터페이스를 사용
interface Color { }
이 RGB가
색상 구현을
class RGB implements Color
그리고 새로운 색상 시스템 :
가
class CMYK implements Color
{
private $cyan;
private $magenta;
private $yellow;
private $black;
public function __construct($cyan , $magenta , $yellow , black)
{
$this->cyan = $cyan;
$this->magenta = $magenta;
$this->yellow = $yellow;
$this->black = $black;
}
}
는 PDF 방법은 바로 컬러 구현하는 클래스 동의가 필요합니다
public function setFillColor(Color $color)
두 번째 방법을, 그것은 객체 지향 잘 아니지만, 변수 번호를 전달하는 function argument syntax for PHP >= 5.6 또는 call_user_func_array을 사용하고 있습니다 매개 변수나는 당신의 모범에서 (다른 목적을 위해 좋은 이데아가 될 수 있음) 추천할만한 것이 없지만 그것은 존재합니다.
'call_user_func_array()'을보십시오 : http://php.net/manual/en/function.call-user-func-array.php – arkascha
@arkascha 아마도 [call-user- func-array] (http://php.net/manual/en/function.call-user-func-array.php) –
@AlexBlex 그 점을 지적 해 주셔서 감사합니다! – arkascha