Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk menggunakan corak kaedah templat dalam PHP?

Bagaimana untuk menggunakan corak kaedah templat dalam PHP?

PHPz
PHPzasal
2024-06-04 17:15:00565semak imbas

Corak kaedah templat mentakrifkan rangka algoritma, dan langkah-langkah khusus dilaksanakan oleh subkelas, membenarkan subkelas untuk menyesuaikan langkah-langkah tertentu tanpa mengubah struktur keseluruhan. Corak ini digunakan untuk: 1. Mentakrifkan rangka algoritma. 2. Menangguhkan tingkah laku khusus algoritma kepada subkelas. 3. Benarkan subkelas untuk menyesuaikan langkah tertentu algoritma tanpa mengubah struktur keseluruhan algoritma.

Bagaimana untuk menggunakan corak kaedah templat dalam PHP?

Corak Kaedah Templat dalam PHP

Pengenalan

Corak Kaedah Templat ialah corak reka bentuk yang mentakrifkan rangka algoritma, dan langkah-langkah khusus dilaksanakan oleh subkelas. Ini membolehkan subkelas untuk menyesuaikan langkah tertentu tanpa mengubah struktur keseluruhan algoritma.

Rajah UML

+----------------+
| AbstractClass  |
+----------------+
| + templateMethod() |
+----------------+

+----------------+
| ConcreteClass1  |
+----------------+
| + concreteMethod1() |
+----------------+

+----------------+
| ConcreteClass2  |
+----------------+
| + concreteMethod2() |
+----------------+

Contoh Kod

AbstractClass.php

rreee

ConcreteClass1.php

abstract class AbstractClass
{
    public function templateMethod()
    {
        $this->step1();
        $this->step2();
        $this->hookMethod();
    }

    protected abstract function step1();
    protected abstract function step2();
    protected function hookMethod() {}
}
Kes praktikal

Andaikan kita ada seorang pelajar Untuk mengurus sistem, kita perlu membuat dua halaman: halaman "Senarai Pelajar" dan halaman "Butiran Pelajar". Kedua-dua halaman menggunakan reka letak yang sama, tetapi mempunyai kandungan yang berbeza.

StudentManager.php

class ConcreteClass1 extends AbstractClass
{
    protected function step1()
    {
        echo "ConcreteClass1: Step 1<br>";
    }

    protected function step2()
    {
        echo "ConcreteClass1: Step 2<br>";
    }
}
StudentListView.php

class ConcreteClass2 extends AbstractClass
{
    protected function step1()
    {
        echo "ConcreteClass2: Step 1<br>";
    }

    protected function step2()
    {
        echo "ConcreteClass2: Step 2<br>";
    }

    protected function hookMethod()
    {
        echo "ConcreteClass2: Hook Method<br>";
    }
}
StudentDetailView.php

🎜
class StudentManager
{
    public function showStudentList()
    {
        $students = // 获取学生数据
        $view = new StudentListView();
        $view->setStudents($students);
        $view->render();
    }

    public function showStudentDetail($id)
    {
        $student = // 获取学生数据
        $view = new StudentDetailView();
        $view->setStudent($student);
        $view->render();
    }
}

Atas ialah kandungan terperinci Bagaimana untuk menggunakan corak kaedah templat dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn