Các loại constructor trong php

Trong bài viết này, chúng ta sẽ thảo luận về những khái niệm cơ bản về hàm tạo trong PHP. Bạn sẽ tìm hiểu mục đích của các hàm tạo PHP và cách sử dụng chúng

Trình xây dựng là gì?

Đây là định nghĩa chính thức

Hàm tạo là các phương thức thông thường được gọi trong quá trình khởi tạo đối tượng tương ứng của chúng. Như vậy, chúng có thể định nghĩa một số đối số tùy ý, có thể được yêu cầu, có thể có loại và có thể có giá trị mặc định. Các đối số của hàm tạo được gọi bằng cách đặt các đối số trong dấu ngoặc đơn sau tên lớp. Sổ tay PHP. Hàm tạo và hàm hủy

Khi bạn khởi tạo một đối tượng của bất kỳ lớp nào và nếu lớp đó đã định nghĩa phương thức khởi tạo, nó sẽ tự động được gọi. Nếu phương thức khởi tạo đã định nghĩa bất kỳ đối số bắt buộc nào, thì bạn cũng phải chuyển các đối số đó khi bạn khởi tạo một đối tượng của lớp đó

Hãy nhanh chóng xem một phương thức xây dựng trông như thế nào trong PHP

Vì vậy, đó là cách bạn có thể định nghĩa một hàm tạo trong lớp của mình. Bạn phải định nghĩa phương thức

author_name = $name;
        $this->author_email = $email;
    }

    public function getAuthorName()
    {
        return $this->author_name;
    }

    public function getAuthorEmail()
    {
        return $this->author_email;
    }
}

$objTutsplusAuthor = new tutsplusAuthor("John", "[email protected]");
echo $objTutsplusAuthor->getAuthorName();
echo $objTutsplusAuthor->getAuthorEmail();
?>
6 trong lớp của mình và nó sẽ trở thành phương thức khởi tạo cho lớp của bạn. Trong ví dụ trên, bất cứ khi nào bạn khởi tạo đối tượng
author_name = $name;
        $this->author_email = $email;
    }

    public function getAuthorName()
    {
        return $this->author_name;
    }

    public function getAuthorEmail()
    {
        return $this->author_email;
    }
}

$objTutsplusAuthor = new tutsplusAuthor("John", "[email protected]");
echo $objTutsplusAuthor->getAuthorName();
echo $objTutsplusAuthor->getAuthorEmail();
?>
7, phương thức
author_name = $name;
        $this->author_email = $email;
    }

    public function getAuthorName()
    {
        return $this->author_name;
    }

    public function getAuthorEmail()
    {
        return $this->author_email;
    }
}

$objTutsplusAuthor = new tutsplusAuthor("John", "[email protected]");
echo $objTutsplusAuthor->getAuthorName();
echo $objTutsplusAuthor->getAuthorEmail();
?>
6 sẽ được gọi trước. Điều quan trọng cần lưu ý là bạn phải định nghĩa một phương thức khởi tạo là công khai, nếu không bạn sẽ không thể khởi tạo một đối tượng của lớp của mình

Trước PHP 5, để định nghĩa một hàm tạo, bạn sẽ sử dụng một hàm có cùng tên với lớp mà nó được định nghĩa và nó sẽ được coi là một phương thức hàm tạo. Bạn có thể quen với cách khai báo hàm tạo này từ các ngôn ngữ lập trình khác như C++. Trong PHP, chúng được gọi là các hàm tạo kiểu PHP4 và không nên sử dụng kiểu này vì chúng sẽ sớm bị phản đối.

Hãy xem lại ví dụ trước để xem hàm tạo sẽ trông như thế nào trong phiên bản trước của PHP

Tại thời điểm viết, ví dụ này vẫn hoạt động. dùng thử.  

Mục đích của một Constructor là gì?

Bây giờ bạn đã biết cách khai báo một phương thức khởi dựng trong PHP, nhưng việc sử dụng một phương thức khởi tạo là gì?

Đang khởi tạo các thuộc tính cần thiết

Mục đích chính của phương thức khởi tạo là khởi tạo các thuộc tính của đối tượng khi nó được tạo. Lợi ích của phương pháp này là sau này bạn không phải gọi các phương thức setter để khởi tạo các thuộc tính của đối tượng sau khi một đối tượng được tạo. Vì vậy, nếu bạn nghĩ rằng một đối tượng phải có một vài thuộc tính được đặt, thì một phương thức khởi tạo là cách tốt nhất

Hãy nhanh chóng xem qua ví dụ sau để hiểu cách thức hoạt động của nó.  

author_name = $name;
        $this->author_email = $email;
    }

    public function getAuthorName()
    {
        return $this->author_name;
    }

    public function getAuthorEmail()
    {
        return $this->author_email;
    }
}

$objTutsplusAuthor = new tutsplusAuthor("John", "[email protected]");
echo $objTutsplusAuthor->getAuthorName();
echo $objTutsplusAuthor->getAuthorEmail();
?>

Như bạn có thể thấy, khi đối tượng

1 được khởi tạo, phương thức 
author_name = $name;
        $this->author_email = $email;
    }

    public function getAuthorName()
    {
        return $this->author_name;
    }

    public function getAuthorEmail()
    {
        return $this->author_email;
    }
}

$objTutsplusAuthor = new tutsplusAuthor("John", "[email protected]");
echo $objTutsplusAuthor->getAuthorName();
echo $objTutsplusAuthor->getAuthorEmail();
?>
6 được gọi. Phương thức
author_name = $name;
        $this->author_email = $email;
    }

    public function getAuthorName()
    {
        return $this->author_name;
    }

    public function getAuthorEmail()
    {
        return $this->author_email;
    }
}

$objTutsplusAuthor = new tutsplusAuthor("John", "[email protected]");
echo $objTutsplusAuthor->getAuthorName();
echo $objTutsplusAuthor->getAuthorEmail();
?>
6 yêu cầu hai đối số và chúng tôi đã chuyển hai đối số đó khi chúng tôi tạo đối tượng mới.
4. Cuối cùng, chúng tôi đã khởi tạo các thuộc tính 
5 và 
6 thành các giá trị tương ứng được truyền trong phương thức 
author_name = $name;
        $this->author_email = $email;
    }

    public function getAuthorName()
    {
        return $this->author_name;
    }

    public function getAuthorEmail()
    {
        return $this->author_email;
    }
}

$objTutsplusAuthor = new tutsplusAuthor("John", "[email protected]");
echo $objTutsplusAuthor->getAuthorName();
echo $objTutsplusAuthor->getAuthorEmail();
?>
6. Vì vậy, theo cách này, bạn có thể khởi tạo các thuộc tính đối tượng bằng một phương thức khởi tạo

Nếu bạn cố khởi tạo đối tượng

1 mà không chuyển bất kỳ đối số nào, bạn sẽ gặp lỗi nghiêm trọng, như được minh họa trong đoạn mã sau

________số 8

Vì vậy, bạn cần đảm bảo rằng bạn chuyển bất kỳ đối số bắt buộc nào khi bạn khởi tạo đối tượng

1

Đối số Constructor kiểm tra kiểu

Trên thực tế, bạn cũng có thể thực hiện kiểm tra kiểu nếu bạn muốn đảm bảo rằng các đối số thuộc các kiểu cụ thể

0

Trong ví dụ trên, bạn phải truyền hai đối số đầu tiên thuộc loại

author_name = $name;
        $this->author_email = $email;
    }

    public function getAuthorName()
    {
        return $this->author_name;
    }

    public function getAuthorEmail()
    {
        return $this->author_email;
    }
}

$objTutsplusAuthor = new tutsplusAuthor("John", "[email protected]");
echo $objTutsplusAuthor->getAuthorName();
echo $objTutsplusAuthor->getAuthorEmail();
?>
0 và đối số cuối cùng phải thuộc loại
author_name = $name;
        $this->author_email = $email;
    }

    public function getAuthorName()
    {
        return $this->author_name;
    }

    public function getAuthorEmail()
    {
        return $this->author_email;
    }
}

$objTutsplusAuthor = new tutsplusAuthor("John", "[email protected]");
echo $objTutsplusAuthor->getAuthorName();
echo $objTutsplusAuthor->getAuthorEmail();
?>
1. Nếu bạn đã chuyển một giá trị chuỗi trong đối số cuối cùng, bạn sẽ gặp lỗi sau

3

Vì vậy, đó là cách bạn có thể thực hiện kiểm tra kiểu nghiêm ngặt với các đối số hàm tạo

Khởi tạo kết nối cơ sở dữ liệu

Một cách sử dụng khác của hàm tạo là thực hiện một số thao tác I/O. ví dụ: mở tệp và bắt đầu đọc nội dung của tệp, bắt đầu yêu cầu API hoặc tạo kết nối cơ sở dữ liệu

Hãy xem một ví dụ về hàm tạo tạo kết nối cơ sở dữ liệu

4

Cách gọi một Constructor của lớp cha

Trong phần cuối cùng này, chúng ta sẽ xem cách bạn có thể gọi các hàm tạo của lớp cha. Nếu bạn biết về khái niệm kế thừa, bạn sẽ biết rằng một lớp có thể mở rộng một lớp khác để xây dựng các chức năng của nó

Bây giờ, có khả năng cả lớp con và lớp cha đều có hàm tạo riêng. Vì vậy, làm thế nào bạn có thể gọi hàm tạo của lớp cha khi một đối tượng lớp con đang được khởi tạo?

Hãy cố gắng hiểu nó với một ví dụ

5

Như bạn có thể thấy, lớp

author_name = $name;
        $this->author_email = $email;
    }

    public function getAuthorName()
    {
        return $this->author_name;
    }

    public function getAuthorEmail()
    {
        return $this->author_email;
    }
}

$objTutsplusAuthor = new tutsplusAuthor("John", "[email protected]");
echo $objTutsplusAuthor->getAuthorName();
echo $objTutsplusAuthor->getAuthorEmail();
?>
2 mở rộng lớp
author_name = $name;
        $this->author_email = $email;
    }

    public function getAuthorName()
    {
        return $this->author_name;
    }

    public function getAuthorEmail()
    {
        return $this->author_email;
    }
}

$objTutsplusAuthor = new tutsplusAuthor("John", "[email protected]");
echo $objTutsplusAuthor->getAuthorName();
echo $objTutsplusAuthor->getAuthorEmail();
?>
3. Bây giờ, khi đối tượng
author_name = $name;
        $this->author_email = $email;
    }

    public function getAuthorName()
    {
        return $this->author_name;
    }

    public function getAuthorEmail()
    {
        return $this->author_email;
    }
}

$objTutsplusAuthor = new tutsplusAuthor("John", "[email protected]");
echo $objTutsplusAuthor->getAuthorName();
echo $objTutsplusAuthor->getAuthorEmail();
?>
2 được khởi tạo, phương thức
author_name = $name;
        $this->author_email = $email;
    }

    public function getAuthorName()
    {
        return $this->author_name;
    }

    public function getAuthorEmail()
    {
        return $this->author_email;
    }
}

$objTutsplusAuthor = new tutsplusAuthor("John", "[email protected]");
echo $objTutsplusAuthor->getAuthorName();
echo $objTutsplusAuthor->getAuthorEmail();
?>
5 của lớp
author_name = $name;
        $this->author_email = $email;
    }

    public function getAuthorName()
    {
        return $this->author_name;
    }

    public function getAuthorEmail()
    {
        return $this->author_email;
    }
}

$objTutsplusAuthor = new tutsplusAuthor("John", "[email protected]");
echo $objTutsplusAuthor->getAuthorName();
echo $objTutsplusAuthor->getAuthorEmail();
?>
2 được gọi. Trong phương thức này, chúng tôi đã sử dụng từ khóa đặc biệt
author_name = $name;
        $this->author_email = $email;
    }

    public function getAuthorName()
    {
        return $this->author_name;
    }

    public function getAuthorEmail()
    {
        return $this->author_email;
    }
}

$objTutsplusAuthor = new tutsplusAuthor("John", "[email protected]");
echo $objTutsplusAuthor->getAuthorName();
echo $objTutsplusAuthor->getAuthorEmail();
?>
7 để gọi phương thức
author_name = $name;
        $this->author_email = $email;
    }

    public function getAuthorName()
    {
        return $this->author_name;
    }

    public function getAuthorEmail()
    {
        return $this->author_email;
    }
}

$objTutsplusAuthor = new tutsplusAuthor("John", "[email protected]");
echo $objTutsplusAuthor->getAuthorName();
echo $objTutsplusAuthor->getAuthorEmail();
?>
5 của lớp cha. Và do đó, cuối cùng nó sẽ gọi phương thức
author_name = $name;
        $this->author_email = $email;
    }

    public function getAuthorName()
    {
        return $this->author_name;
    }

    public function getAuthorEmail()
    {
        return $this->author_email;
    }
}

$objTutsplusAuthor = new tutsplusAuthor("John", "[email protected]");
echo $objTutsplusAuthor->getAuthorName();
echo $objTutsplusAuthor->getAuthorEmail();
?>
5 của lớp
author_name = $name;
        $this->author_email = $email;
    }

    public function getAuthorName()
    {
        return $this->author_name;
    }

    public function getAuthorEmail()
    {
        return $this->author_email;
    }
}

$objTutsplusAuthor = new tutsplusAuthor("John", "[email protected]");
echo $objTutsplusAuthor->getAuthorName();
echo $objTutsplusAuthor->getAuthorEmail();
?>
3. Luôn luôn là một cách tốt để gọi phương thức
author_name = $name;
        $this->author_email = $email;
    }

    public function getAuthorName()
    {
        return $this->author_name;
    }

    public function getAuthorEmail()
    {
        return $this->author_email;
    }
}

$objTutsplusAuthor = new tutsplusAuthor("John", "[email protected]");
echo $objTutsplusAuthor->getAuthorName();
echo $objTutsplusAuthor->getAuthorEmail();
?>
5 của lớp cha nếu lớp của bạn mở rộng bất kỳ lớp nào

Sự kết luận

Hôm nay, chúng ta đã thảo luận về hàm tạo trong PHP, cùng với một số ví dụ thực tế. Bạn đã xem cách tạo hàm tạo và một số trường hợp sử dụng hàm tạo trong các lớp PHP

Có bao nhiêu loại constructor trong PHP?

Các loại Constructor trong PHP là gì? . three types of Constructor are mainly utilized.

3 loại hàm tạo là gì?

Có 3 loại hàm tạo chủ yếu trong C++, Các hàm tạo mặc định, Tham số hóa và Sao chép .

4 loại hàm tạo là gì?

Các loại hàm tạo .
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
Trình tạo tĩnh
Nhà thầu tư nhân

Các loại hàm tạo của hàm tạo 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 (__).