Bolehkah Kaedah Luaran Disertakan dalam Kelas PHP, dan Apakah Alternatif Terbaik?

Patricia Arquette
Lepaskan: 2024-11-21 06:19:09
asal
378 orang telah melayarinya

Can External Methods Be Included in a PHP Class, and What's the Best Alternative?

Memasukkan Kaedah Luaran ke dalam Kelas PHP

Bolehkah kod dimasukkan ke dalam kelas PHP?

Memasukkan kod terus ke dalam badan kelas tidak boleh dilakukan dalam PHP. Walau bagaimanapun, kaedah boleh disertakan daripada fail luaran di luar badan kelas.

Mengasingkan Logik Perniagaan

Keinginan untuk memisahkan logik perniagaan daripada elemen kelas lain boleh difahami. Walau bagaimanapun, termasuk kaedah daripada fail berasingan melanggar peraturan sintaks PHP.

Kebimbangan Prestasi

Jika Myclass.php disertakan sekali sahaja setiap permintaan, fail luaran Myclass_methods.php juga akan dimasukkan sekali sahaja. Oleh itu, prestasi tidak seharusnya menjadi kebimbangan utama.

Penyelesaian yang Betul: Corak Strategi

Untuk mengubah tingkah laku kelas secara dinamik, Corak Strategi ialah pendekatan yang lebih sesuai daripada memasukkan luaran fail. Ia melibatkan mencipta antara muka dengan kaedah yang ditentukan dan melaksanakan berbilang kelas yang mematuhi antara muka dengan pelaksanaan kaedah yang berbeza.

Pelaksanaan:

// MeowingInterface.php
interface MeowingInterface
{
    public function meow(): string;
}

// RegularMeow.php
class RegularMeow implements MeowingInterface
{
    public function meow(): string
    {
        return 'meow';
    }
}

// LolcatMeow.php
class LolcatMeow implements MeowingInterface
{
    public function meow(): string
    {
        return 'lolz xD';
    }
}

// Cat.php
class Cat
{
    private MeowingInterface $meowingBehaviour;

    public function setMeowingBehaviour(MeowingInterface $meowingBehaviour): void
    {
        $this->meowingBehaviour = $meowingBehaviour;
    }

    public function meow(): string
    {
        return $this->meowingBehaviour->meow();
    }
}
Salin selepas log masuk

Penggunaan:

// index.php
require_once 'MeowingInterface.php';
require_once 'RegularMeow.php';
require_once 'LolcatMeow.php';
require_once 'Cat.php';

$cat = new Cat();
$cat->setMeowingBehaviour(new RegularMeow());
echo $cat->meow(); // Outputs "meow"

// Change behaviour
$cat->setMeowingBehaviour(new LolcatMeow());
echo $cat->meow(); // Outputs "lolz xD"
Salin selepas log masuk

Dengan mengikut Corak Strategi, anda boleh menukar tingkah laku dengan mudah kelas tanpa menggunakan amalan tidak lazim seperti memasukkan fail luaran. Pendekatan ini memberikan fleksibiliti dan kebolehselenggaraan kod dalam jangka masa panjang.

Atas ialah kandungan terperinci Bolehkah Kaedah Luaran Disertakan dalam Kelas PHP, dan Apakah Alternatif Terbaik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan