Bagaimana untuk menggunakan corak kaedah templat dalam PHP?

PHPz
Lepaskan: 2024-06-04 17:15:00
asal
486 orang telah melayarinya

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() |
+----------------+
Salin selepas log masuk

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() {}
}
Salin selepas log masuk
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>";
    }
}
Salin selepas log masuk
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>";
    }
}
Salin selepas log masuk
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();
    }
}
Salin selepas log masuk

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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!