개발 꿀팁/PHP

php 생성자가 다른 개수 매개 변수를 지원하는 방법

Jammie 2022. 8. 19. 11:37
반응형

php 생성자는 다른 개수 매개 변수 방법을 지원합니다

원리: __construct에서 사용하기 func_num_args 매개 변수 개수를 얻고, 개수에 따라 다른 호출이 실행됩니다.매개 변수 값은 func_get_arg() 메서드를 사용하여 가져옵니다.



데모:

<?php
class demo{
 
    private $_args;
 
    public function __construct(){
        $args_num = func_num_args(); // 인자 개수 가져오기
 
        // 매개 변수 개수 및 유형 판단
        if($args_num==2){
            $this->_args = array(
                                'id' => func_get_arg(0),
                                'dname' => func_get_arg(1)
                            );
        }elseif($args_num==1 && is_array(func_get_arg(0))){
            $this->_args = array(
                                'device'=>func_get_arg(0)
                            );
        }else{
            exit('func param not match');
        }    
    }
 
    public function show(){
        echo '<pre>';
        print_r($this->_args);
        echo '</pre>';
    }
 
}
 
// demo1
$id = 1;
$dname = 'fdipzone';
$obj = new demo($id, $dname);
$obj->show();
 
// demo2
$device = array('iOS','Android');
$obj = new demo($device);
$obj->show();
?>

demo 실행 후 출력:

Array
(
    [id] => 1
    [dname] => fdipzone
)
Array
(
    [device] => Array
        (
            [0] => iOS
            [1] => Android
        )

)

 

반응형

'개발 꿀팁 > PHP' 카테고리의 다른 글

HTTP 204와 205 애플리케이션  (0) 2022.08.19
php 비동기 호출 방법  (0) 2022.08.19
C를 사용하여 php 확장 만들기  (0) 2022.08.19
php 짧은 URL 생성  (0) 2022.08.18
php soap 사용 사례  (0) 2022.08.18