Ví dụ hàm tạo được tham số hóa trong php

Trong hướng dẫn này, chúng ta sẽ tìm hiểu về PHP Constructor. Hàm tạo là một hàm thành viên đặc biệt trong lớp và mục đích chính để tạo hàm tạo trong lớp là khởi tạo các thuộc tính của mọi phiên bản đối tượng của lớp. Một điều tuyệt vời về hàm tạo là hàm tạo sẽ tự động được gọi trên mỗi đối tượng mới được tạo.

Xin lưu ý rằng chức năng xây dựng bắt đầu bằng hai dấu gạch dưới (__)

Tại đây bạn có thể xem một chương trình ví dụ để hiểu cách tạo hàm tạo trong PHP

Các loại Constructor

  • Nhà xây dựng mặc định
  • Trình xây dựng được tham số hóa
  • Sao chép công cụ xây dựng

Nhà xây dựng mặc định.  

Hàm tạo không có tham số được gọi là hàm tạo mặc định. Mặc dù chúng ta có thể khởi tạo các thuộc tính của lớp từ hàm tạo mặc định và chúng ta cũng có thể gọi các hàm thành viên khác của lớp từ hàm tạo mặc định

sayHello();
    echo "This is Constructor in Example Class";
  }

  function sayHello() {
    echo "Hello
"; } } $obj= new Example(); ?>

Trình xây dựng được tham số hóa

Một hàm tạo có tham số được gọi là hàm tạo có tham số. Điều đó có nghĩa là chúng ta có thể chuyển các giá trị khác nhau để khởi tạo các thành viên dữ liệu của lớp. Chương trình ví dụ sau sẽ giúp bạn hiểu Trình xây dựng PHP được tham số hóa

";
  }
 
}

$obj1= new Example("World");

$obj2= new Example("Owlbuddy");

?>

Sao chép công cụ xây dựng

Copy constructor được sử dụng để tạo một bản sao của một đối tượng đã tồn tại. Nó lấy địa chỉ của các đối tượng khác làm tham số

Ghi chú. Hàm tạo được định nghĩa trong phần công khai của Lớp và thậm chí các giá trị cho thuộc tính của lớp được đặt bởi Trình tạo

Cách xác định hàm tạo trong PHP

1

2

3

4

5

6

7

8

9

lớp Người{

công khai $name;

công khai $address;

công khai $giới tính;

hàm công khai _construct(){

$this - >cuộc đua = "human";

}

}?>

Trình tạo lớp PHP. Cách gọi hàm tạo của lớp cha bên trong hàm tạo của lớp con

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

lớp Người{

công khai $name;

công khai $address;

công khai $giới tính;

hàm công khai _constuct(){

$this - >cuộc đua = "human";

}

}

lớp Nhân viên mở rộng Người{

hàm công khai _constuct(){

cha mẹ. . _construct(); /

}

}

$emp1 = mới Nhân viên(); // it will call employee and parent class constructor both.

?>

Trình tạo lớp PHP. Tại sao chúng ta cần một nhà xây dựng?

Như chúng ta đã biết về hàm tạo, đây là một hàm đặc biệt và được gọi tự động khi một đối tượng
của một lớp được khởi tạo.
do đó, trong cách tiếp cận này, chúng ta có thể tận dụng các lợi ích của hàm tạo bằng cách sử dụng nó trong lớp của chúng ta.
vì vậy, chúng ta có thể bắt đầu một phiên trong hàm tạo và thiết lập đối tượng trước khi sử dụng nó, vì vậy chúng ta không cần phải bắt đầu trong mọi phương thức của lớp.

do đó, chúng ta có thể viết một vài dòng của đoạn mã và bắt đầu khởi tạo một đối tượng để gọi phương thức của lớp sau đó hàm tạo được gọi là đối tượng được khởi tạo

do đó, dòng đoạn mã được viết trong hàm tạo thì nó sẽ tự động được thực thi.
Trình tạo với các tham số giống như một phương thức thông thường vì kết quả là bạn sẽ có thể truyền biến cho hàm tạo như trong phương thức thông thường.
Chương trình. Trình tạo lớp PHP

1

2

3

4

5

6

7

8

9

10

11

12

lớp Chim {

    công khai $bird_name = "Không có con chim nào cho;

    hàm công khai _construct($bird_name)

      {

        $this - >bird_name = $bird_name;

       }

}

// bây giờ hàm tạo được gọi tự động vì chúng ta đã khởi tạo đối tượng hoặc lớp Bird

$bird = new Bird("crow is bird");

echo $bird - >bird_name; //Output: Crow is bird

?>

Trình tạo lớp PHP. - Các loại Constructor

  • Nhà xây dựng mặc định. nó không có tham số, tuy nhiên, các giá trị cho hàm tạo mặc định có thể được truyền động
  • Trình xây dựng được tham số hóa. Nó nhận các tham số và ngoài ra, bạn sẽ chuyển các giá trị khác nhau cho các thành viên dữ liệu
  • Sao chép công cụ xây dựng. Nó chấp nhận địa chỉ của các đối tượng (đối diện) khác làm tham số

Di sản. nó là một khái niệm hướng đối tượng, các Trình xây dựng được kế thừa từ lớp cha sang lớp con bắt nguồn từ nó. Bất cứ khi nào lớp con có hàm tạo và hàm hủy của riêng chúng, chúng được gọi theo thứ tự ưu tiên hoặc ưu tiên

Trình xây dựng mặc định được xác định trước

Để xác định cấu trúc mặc định bằng cách sử dụng hàm__construct()

.

Ghi chú. Trong trường hợp Trình xây dựng được xác định trước (_construct) và hàm tạo do người dùng xác định trong cùng một lớp, Trình xây dựng được xác định trước trở thành Trình xây dựng trong khi hàm tạo do người dùng xác định trở thành phương thức bình thường

1

2

3

4

5

6

7

8

9

lớp Người{

công khai $name;

công khai $address;

công khai $giới tính;

// nếu _construct() không được định nghĩa bên trong lớp thì hàm tạo ẩn sẽ

//được gọi là Trình xây dựng mặc định

}

?>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

loại Cổ phiếu

{

chức năng Hàng()

{

echo "Đó là Trình tạo do người dùng xác định của lớp Stock";

}

 

hàm _construct()

{

echo "Đó là Trình tạo được xác định trước của lớp Stock";

}

}

 

$obj = mới Hàng(); //Output: Its a Pre-defined Constructor of the class Stock

?>

Trình xây dựng được tham số hóa

Constructor của lớp chấp nhận tham số hoặc đối số.
Trong phương thức khởi tạo, bạn có thể gán giá trị cho các biến trong quá trình tạo đối tượng, -> operator được sử dụng để đặt giá trị cho các biến.

1

2

3

4

5

6

7

8

9

10

11

lớp Người1{

công khai $name;

công khai $address;

công khai $giới tính;

hàm công khai _construct(){ // parameterized constructor with no-argument

$this - >cuộc đua = "human";

}

}

$perObj1 = mới Person1(); // parameterized constructor with no-argument

?>

1

2

3

4

5

6

7

8

9

10

11

lớp Người2{

công khai $name;

công khai $giới tính;

hàm công khai _construct($name){ // parameterized constructor with name argument

$this - >cuộc đua = "human";

$this - >tên = $name;

}

}

$perObj2 = mới Person2("john"); // parameterized constructor with name argument

?>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

lớp Nhân viên

{

Công khai $name;

        Công khai $address;

        hàm _construct($name,$address)

 

{

// Đây là khởi tạo các thuộc tính của lớp

$this - >tên = $name;

$this - >địa điểm = $address;

         }

chức năng show_details()

{

echo $this - >tên.". ";

echo "Địa chỉ của bạn là " . $this - >địa điểm. "\n";

}

}

$employee_obj = mới Nhân viên("Shekhar","Mumbai");

$employee_obj - >show_details();

$employee2 = mới Nhân viên("Saumya","Delhi");

$employee2 - >show_details();

//đầu ra

// Shekhar. Địa chỉ của bạn là Mumbai

//Saumya. Địa chỉ của bạn là Delhi

?>

Do đó, hàm tạo bắt đầu bằng 2 dấu gạch dưới và thường xuất hiện giống như các hàm PHP truyền thống bình thường. Đôi khi các hàm tạo này được gọi là các hàm ma thuật bắt đầu bằng 2 dấu gạch dưới và có một số chức năng bổ sung so với các phương thức thông thường

hơn nữa, sau khi tạo một đối tượng liên kết của một số lớp bao gồm các hàm tạo, nội dung của hàm tạo sẽ được thực thi tự động

Sao chép hàm tạo

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

lớp Người1{

công khai $name;

công khai $giới tính;

hàm công khai _construct($name){ // parameterized constructor with name argument

$this - >cuộc đua = "human";

$this - >tên = $name;

}

chức năng công khai _clone(){

echo "làm gì đó";

}

}

$perObj2 = mới Person1("john"); // parameterized constructor with name argument

$perObj3 = bản sao $perObj2; // copy constructor initialize $perObj3 with the values of $perObj2

echo """""""""""""""""""""". $perObj3 - >tên;

?>

Ưu điểm của việc sử dụng Constructor. Trình xây dựng lớp PHP

Trình xây dựng sẽ có một số tham số theo yêu cầu và chúng sẽ được phác thảo bằng các đối số mặc định.
do đó, Trình xây dựng cung cấp khả năng truyền tham số, giúp khởi tạo tự động các biến thành viên trong thời gian tạo.
Hơn nữa, Trình xây dựng sẽ có một số tham số theo yêu cầu và chúng sẽ được phác thảo bằng các đối số mặc định.
Chúng khuyến khích khả năng sử dụng lại tránh khởi tạo lại bất cứ khi nào thể hiện của lớp được tạo. Bạn có thể bắt đầu phiên trong phương thức khởi tạo để không phải bắt đầu tất cả các chức năng mỗi lần.
Họ có thể gọi các hàm của lớp, các phương thức thành viên và các hàm tạo khác ngay cả từ lớp cha.

.

Ghi chú. The __construct() phương pháp luôn có yếu tố hiển thị công khai

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

lớp Lớp cha

{

hàm _construct()

{

print "nó là Trình tạo lớp cha. \n";

}

}

lớp Lớp con mở rộng Lớp cha

{

hàm _construct()

{

cha mẹ. . _construct();

print "nó là Trình tạo lớp con";

}

}

$obj = mới Lớp cha();

$obj = mới ChildClass();

?>

đầu ra

1

2

3

a Cha Lớp Constructor.

a Cha Lớp Constructor.

a Con Lớp Constructor.

.

Trình tạo lớp PHP. Ghi chú. Lưu ý trong chương trình trên, mỗi khi một đối tượng của lớp con được tạo thì hàm tạo của lớp con sẽ tự động được gọi

Hàm tạo được tham số hóa trong PHP là gì?

Trình tạo được tham số hóa. Hàm tạo của lớp chấp nhận đối số hoặc tham số . Toán tử -> được sử dụng để đặt giá trị cho các biến. Trong phương thức khởi tạo, bạn có thể gán giá trị cho các biến trong quá trình tạo đối tượng.

một hàm tạo tham số hóa đưa ra một ví dụ là gì?

Một hàm tạo được tham số hóa được được khai báo bằng cách sử dụng hàm Ví dụ . Nó bao gồm hai phương thức getA() và getB(). Trong lớp chính, hàm tạo được gọi và các giá trị truy cập của hàm tạo được gán.

hàm tạo với ví dụ trong PHP là gì?

Hàm tạo cho phép bạn khởi tạo các thuộc tính của đối tượng khi tạo đối tượng . Nếu bạn tạo một hàm __construct(), PHP sẽ tự động gọi hàm này khi bạn tạo một đối tượng từ một lớp. Lưu ý rằng hàm khởi tạo bắt đầu bằng hai dấu gạch dưới (__).

Các phương thức __ constructor() và __ desturation() trong một lớp PHP là gì?

Được định nghĩa bên trong lớp và dùng để tự động gọi khi đối tượng được tạo. PHP4 cung cấp phương thức khởi tạo trong khi PHP5 cung cấp phương thức ma thuật __construct và __destroy. Phương thức này được gọi tự động khi một đối tượng được tạo hoặc hủy .