Hướng dẫn what is use of constructor in php? - việc sử dụng hàm tạo trong php là gì?

PHP - Hàm __construct

Trình xây dựng cho phép bạn khởi tạo các thuộc tính của một đối tượng khi tạo đối tượng.

Nếu bạn tạo chức năng __construct[], PHP sẽ tự động gọi chức năng này khi bạn tạo một đối tượng từ một lớp.

Lưu ý rằng hàm xây dựng bắt đầu với hai dấu gạch dưới [__]!

Chúng ta thấy trong ví dụ dưới đây, rằng việc sử dụng hàm tạo sẽ cứu chúng ta khỏi gọi phương thức set_name [] giúp giảm lượng mã:

Thí dụ


echo $apple->get_name[];
?>

Hãy tự mình thử »

Một vi dụ khac:

Thí dụ


echo $apple->get_name[];
echo "
";
echo $apple->get_color[];
?>

Hãy tự mình thử »



Người xây dựng

__construct [hỗn hợp ...$values = ""]: VOID[mixed ...$values = ""]: void

PHP cho phép các nhà phát triển khai báo các phương thức xây dựng cho các lớp. Các lớp có phương thức xây dựng gọi phương thức này trên mỗi đối tượng mới được tạo, do đó, nó phù hợp với bất kỳ khởi tạo nào mà đối tượng có thể cần trước khi nó được sử dụng.

Lưu ý: Các hàm tạo cha mẹ không được gọi là ngầm nếu lớp con định nghĩa một hàm tạo. Để chạy một hàm tạo cha mẹ, một cuộc gọi đến cha mẹ :: __ construct [] trong hàm tạo con là bắt buộc. Nếu trẻ không định nghĩa một hàm tạo thì nó có thể được kế thừa từ lớp cha giống như một phương thức lớp bình thường [nếu nó không được tuyên bố là riêng tư].: Parent constructors are not called implicitly if the child class defines a constructor. In order to run a parent constructor, a call to parent::__construct[] within the child constructor is required. If the child does not define a constructor then it may be inherited from the parent class just like a normal class method [if it was not declared as private].

Ví dụ số 1 người xây dựng trong kế thừa

1

SubClass extends BaseClass {
    function 
__construct[] {
        
parent::__construct[];
        print 
"In SubClass constructor\n";
    }
}

class

OtherSubClass extends BaseClass {
    
// inherits BaseClass's constructor
}// In BaseClass constructor
$obj = new BaseClass[];// In BaseClass constructor
// In SubClass constructor
$obj = new SubClass[];// In BaseClass constructor
$obj = new OtherSubClass[];
?>
2

SubClass extends BaseClass {
    function 
__construct[] {
        
parent::__construct[];
        print 
"In SubClass constructor\n";
    }
}

class

OtherSubClass extends BaseClass {
    
// inherits BaseClass's constructor
}// In BaseClass constructor
$obj = new BaseClass[];// In BaseClass constructor
// In SubClass constructor
$obj = new SubClass[];// In BaseClass constructor
$obj = new OtherSubClass[];
?>
3

SubClass extends BaseClass {
    function 
__construct[] {
        
parent::__construct[];
        print 
"In SubClass constructor\n";
    }
}

class

OtherSubClass extends BaseClass {
    
// inherits BaseClass's constructor
}// In BaseClass constructor
$obj = new BaseClass[];// In BaseClass constructor
// In SubClass constructor
$obj = new SubClass[];// In BaseClass constructor
$obj = new OtherSubClass[];
?>
4

SubClass extends BaseClass {
    function 
__construct[] {
        
parent::__construct[];
        print 
"In SubClass constructor\n";
    }
}

class

OtherSubClass extends BaseClass {
    
// inherits BaseClass's constructor
}// In BaseClass constructor
$obj = new BaseClass[];// In BaseClass constructor
// In SubClass constructor
$obj = new SubClass[];// In BaseClass constructor
$obj = new OtherSubClass[];
?>
5

class3

2 năm trước

lách ¶

SubClass extends BaseClass {
    function 
__construct[] {
        
parent::__construct[];
        print 
"In SubClass constructor\n";
    }
}

class

OtherSubClass extends BaseClass {
    
// inherits BaseClass's constructor
}// In BaseClass constructor
$obj = new BaseClass[];// In BaseClass constructor
// In SubClass constructor
$obj = new SubClass[];// In BaseClass constructor
$obj = new OtherSubClass[];
?>
7

SubClass extends BaseClass {
    function 
__construct[] {
        
parent::__construct[];
        print 
"In SubClass constructor\n";
    }
}

class

OtherSubClass extends BaseClass {
    
// inherits BaseClass's constructor
}// In BaseClass constructor
$obj = new BaseClass[];// In BaseClass constructor
// In SubClass constructor
$obj = new SubClass[];// In BaseClass constructor
$obj = new OtherSubClass[];
?>
8

SubClass extends BaseClass {
    function 
__construct[] {
        
parent::__construct[];
        print 
"In SubClass constructor\n";
    }
}

class

OtherSubClass extends BaseClass {
    
// inherits BaseClass's constructor
}// In BaseClass constructor
$obj = new BaseClass[];// In BaseClass constructor
// In SubClass constructor
$obj = new SubClass[];// In BaseClass constructor
$obj = new OtherSubClass[];
?>
9

0

__construct[int $xint $y 0] {
        
$this->$x;
        
$this->$y;
    }
}
// Pass both parameters.
$p1 = new Point[45];
// Pass only the required parameter. $y will take its default value of 0.
$p2 = new Point[4];
// With named parameters [as of PHP 8.0]:
$p3 = new Point[y5x4];
?>
1

12 năm trước

lách ¶

__construct[int $xint $y 0] {
        
$this->$x;
        
$this->$y;
    }
}
// Pass both parameters.
$p1 = new Point[45];
// Pass only the required parameter. $y will take its default value of 0.
$p2 = new Point[4];
// With named parameters [as of PHP 8.0]:
$p3 = new Point[y5x4];
?>
2

14 năm trước

lách ¶

__construct[int $xint $y 0] {
        
$this->$x;
        
$this->$y;
    }
}
// Pass both parameters.
$p1 = new Point[45];
// Pass only the required parameter. $y will take its default value of 0.
$p2 = new Point[4];
// With named parameters [as of PHP 8.0]:
$p3 = new Point[y5x4];
?>
3

__construct[int $xint $y 0] {
        
$this->$x;
        
$this->$y;
    }
}
// Pass both parameters.
$p1 = new Point[45];
// Pass only the required parameter. $y will take its default value of 0.
$p2 = new Point[4];
// With named parameters [as of PHP 8.0]:
$p3 = new Point[y5x4];
?>
4

__construct[int $xint $y 0] {
        
$this->$x;
        
$this->$y;
    }
}
// Pass both parameters.
$p1 = new Point[45];
// Pass only the required parameter. $y will take its default value of 0.
$p2 = new Point[4];
// With named parameters [as of PHP 8.0]:
$p3 = new Point[y5x4];
?>
5

__construct[int $xint $y 0] {
        
$this->$x;
        
$this->$y;
    }
}
// Pass both parameters.
$p1 = new Point[45];
// Pass only the required parameter. $y will take its default value of 0.
$p2 = new Point[4];
// With named parameters [as of PHP 8.0]:
$p3 = new Point[y5x4];
?>
6

__construct[int $xint $y 0] {
        
$this->$x;
        
$this->$y;
    }
}
// Pass both parameters.
$p1 = new Point[45];
// Pass only the required parameter. $y will take its default value of 0.
$p2 = new Point[4];
// With named parameters [as of PHP 8.0]:
$p3 = new Point[y5x4];
?>
7

__construct[int $xint $y 0] {
        
$this->$x;
        
$this->$y;
    }
}
// Pass both parameters.
$p1 = new Point[45];
// Pass only the required parameter. $y will take its default value of 0.
$p2 = new Point[4];
// With named parameters [as of PHP 8.0]:
$p3 = new Point[y5x4];
?>
8

    public function2

E_DEPRECATED0

E_DEPRECATED1

E_DEPRECATED2

E_DEPRECATED3

E_DEPRECATED4

class3

14 năm trước

prieler tại ABM Dot tại ¶

E_DEPRECATED6

E_DEPRECATED7

E_DEPRECATED8

E_DEPRECATED9

class3

15 năm trước

Yousef Ismaeil cliprz [at] gmail [dot] com ¶

Bài Viết Liên Quan

Chủ Đề