[PHP] Multiple constructors in PHP > Web

본문 바로가기

사이트 내 전체검색

Web

[PHP] Multiple constructors in PHP

작성일 23-01-02 16:38

페이지 정보

작성자sbLAB 조회 3,265회 댓글 0건

본문

Multiple constructors in PHP 

https://www.amitmerchant.com/multiple-constructors-php/


    <?php

    class Animal
    {
        public function __construct()
        {
            $arguments = func_get_args();
            $numberOfArguments = func_num_args();

            if (method_exists($this, $function = '__construct'.$numberOfArguments)) {
                call_user_func_array(array($this, $function), $arguments);
            }
        }
   
        public function __construct1($a1)
        {
            echo('__construct with 1 param called: '.$a1.PHP_EOL);
        }
   
        public function __construct2($a1, $a2)
        {
            echo('__construct with 2 params called: '.$a1.','.$a2.PHP_EOL);
        }
   
        public function __construct3($a1, $a2, $a3)
        {
            echo('__construct with 3 params called: '.$a1.','.$a2.','.$a3.PHP_EOL);
        }
    }

    $o = new Animal('sheep');
    $o = new Animal('sheep','cat');
    $o = new Animal('sheep','cat','dog');

    // __construct with 1 param called: sheep
    // __construct with 2 params called: sheep,cat
    // __construct with 3 params called: sheep,cat,dog

 

댓글목록

등록된 댓글이 없습니다.

Copyright © 소유하신 도메인. All rights reserved.
PC 버전으로 보기