cari

Memahami Ahli Statik dalam PHP

Sep 13, 2024 am 06:22 AM

Understanding Static Members in PHP

Dalam PHP, ahli statik (kaedah dan sifat) tergolong dalam kelas itu sendiri, bukan kepada objek individu. Ini bermakna anda boleh mengaksesnya tanpa membuat contoh kelas. Ahli statik berguna apabila anda ingin berkongsi data atau fungsi merentas berbilang objek. PHP menyediakan tiga kata kunci untuk mengakses kaedah dan sifat statik: diri::, ibu bapa::, dan statik::. Masing-masing berfungsi secara berbeza, terutamanya apabila menggunakan warisan. Dalam artikel ini, kami akan menerangkan cara kata kunci ini berfungsi dan menunjukkan perbezaannya dengan contoh.

Bila Menggunakan Ahli Statik

  • Pembolehubah Global: Sifat statik boleh digunakan sebagai pembolehubah global dalam kelas, boleh diakses oleh semua kejadian.

  • Kaedah Utiliti: Kaedah statik boleh menyediakan fungsi utiliti yang bebas daripada objek individu.

  • Pemalar Peringkat Kelas: Sifat statik boleh digunakan untuk menentukan pemalar peringkat kelas.

  • Corak Singleton: Kaedah dan sifat statik adalah penting untuk melaksanakan corak Singleton.

Memanggil Kaedah Statik

Untuk memanggil kaedah statik, anda menggunakan operator :: diikuti dengan nama kaedah. Berikut ialah contoh:

class MyClass {
    public static function greet() {
        echo "Hello, world!";
    }
}

MyClass::greet(); // Output: Hello, world!

Memanggil Sifat Statik

Untuk mengakses sifat statik, anda juga menggunakan operator :: diikuti dengan nama sifat. Berikut ialah contoh:

class MyClass {
    public static $count = 0;

    public static function incrementCount() {
        self::$count++;
    }
}

MyClass::incrementCount();
echo MyClass::$count; // Output: 1

Tiga Kata Kunci: diri::, ibu bapa::, dan statik::

  1. diri sendiri::
    Kata kunci diri:: merujuk kepada kelas di mana kod itu ditulis. Ia tidak mengambil kira warisan, bermakna jika kelas kanak-kanak mengatasi kaedah atau harta statik, self:: masih akan merujuk kepada kelas induk tempat kod itu ditakrifkan.

  2. ibu bapa::
    Kata kunci induk:: digunakan untuk memanggil kaedah atau sifat statik daripada kelas induk terdekat. Ia memintas sebarang kaedah yang ditindih dalam kelas anak, memastikan kaedah atau harta ibu bapa digunakan.

  3. statik::
    Kata kunci statik:: berfungsi sama seperti diri::, tetapi ia menyumbang kepada pengikatan statik lewat. Ini bermakna jika kaedah atau sifat statik ditindih dalam kelas anak, static:: akan merujuk kepada kaedah atau sifat dalam kelas terbitan yang paling banyak, walaupun ia dipanggil daripada kelas induk.

Contoh untuk Menunjukkan Perbezaan

Mari kita lihat bagaimana setiap kata kunci ini berkelakuan dalam program PHP dengan warisan.

Contoh 1: Menggunakan diri sendiri::

class A {
    public static function sayHello() {
        return "Hello from A";
    }

    public static function test() {
        return self::sayHello();
    }
}

class B extends A {
    public static function sayHello() {
        return "Hello from B";
    }
}

echo B::test(); // Output: "Hello from A"

Dalam contoh ini, self:: dalam kelas A merujuk kepada kaedah sayHello() dalam A. Walaupun kelas B mengatasi kaedah tersebut, self:: memanggil kaedah kelas induk, menghasilkan output "Hello dari A."

Contoh 2: Menggunakan ibu bapa::

class A {
    public static function sayHello() {
        return "Hello from A";
    }
}

class B extends A {
    public static function sayHello() {
        return parent::sayHello() . " and B";
    }
}

echo B::sayHello(); // Output: "Hello from A and B"

Dalam contoh ini, kelas B memanggil ibu bapa::sayHello() untuk memasukkan mesej daripada kelas induk A dan kemudian menambahkan mesejnya sendiri. Outputnya ialah "Hello daripada A dan B."

Contoh 3: Menggunakan statik::

class A {
    public static function sayHello() {
        return "Hello from A";
    }

    public static function test() {
        return static::sayHello();
    }
}

class B extends A {
    public static function sayHello() {
        return "Hello from B";
    }
}

echo B::test(); // Output: "Hello from B"

Di sini, statik:: dalam kelas A merujuk kepada kaedah sayHello() dalam kelas paling banyak terbitan, iaitu B. Ini kerana statik:: membenarkan pengikatan statik lewat, dan kaedah dalam kelas B dipanggil, menghasilkan "Helo daripada B."

Perbezaan Utama

  • diri::: Merujuk kepada kelas di mana ia digunakan, mengabaikan warisan. Ini berguna apabila anda tidak mahu kaedah dalam kelas kanak-kanak menjejaskan kaedah yang dipanggil.

  • ibu bapa::: Secara khusus memanggil kaedah atau sifat daripada kelas induk, walaupun ia ditindih dalam kelas anak. Ia berguna apabila melanjutkan fungsi daripada kelas induk tetapi masih memerlukan akses kepada kaedah asal.

  • statik::: Mendayakan pengikatan statik lewat, bermakna ia merujuk kepada kaedah atau sifat dalam kelas terbitan paling banyak pada masa jalan, walaupun dipanggil daripada kelas induk. Ia berguna untuk situasi yang anda mahu tingkah laku disesuaikan bergantung pada kelas panggilan.

Memahami perbezaan antara diri::, ibu bapa::, dan statik:: membantu menulis kod PHP yang lebih mantap dan boleh diselenggara, terutamanya dalam sistem berorientasikan objek yang kompleks.

Atas ialah kandungan terperinci Memahami Ahli Statik 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
Di luar gembar -gembur: Menilai peranan PHP hari iniDi luar gembar -gembur: Menilai peranan PHP hari iniApr 12, 2025 am 12:17 AM

PHP kekal sebagai alat yang kuat dan digunakan secara meluas dalam pengaturcaraan moden, terutamanya dalam bidang pembangunan web. 1) PHP mudah digunakan dan diintegrasikan dengan lancar dengan pangkalan data, dan merupakan pilihan pertama bagi banyak pemaju. 2) Ia menyokong penjanaan kandungan dinamik dan pengaturcaraan berorientasikan objek, sesuai untuk membuat dan mengekalkan laman web dengan cepat. 3) Prestasi PHP dapat ditingkatkan dengan caching dan mengoptimumkan pertanyaan pangkalan data, dan komuniti yang luas dan ekosistem yang kaya menjadikannya masih penting dalam timbunan teknologi hari ini.

Apakah rujukan yang lemah dalam PHP dan bilakah mereka berguna?Apakah rujukan yang lemah dalam PHP dan bilakah mereka berguna?Apr 12, 2025 am 12:13 AM

Dalam PHP, rujukan lemah dilaksanakan melalui kelas lemah dan tidak akan menghalang pemungut sampah daripada menebus objek. Rujukan lemah sesuai untuk senario seperti sistem caching dan pendengar acara. Harus diingat bahawa ia tidak dapat menjamin kelangsungan hidup objek dan pengumpulan sampah mungkin ditangguhkan.

Terangkan kaedah sihir __invoke dalam PHP.Terangkan kaedah sihir __invoke dalam PHP.Apr 12, 2025 am 12:07 AM

Kaedah \ _ \ _ membolehkan objek dipanggil seperti fungsi. 1. Tentukan kaedah \ _ \ _ supaya objek boleh dipanggil. 2. Apabila menggunakan sintaks $ OBJ (...), PHP akan melaksanakan kaedah \ _ \ _ invoke. 3. Sesuai untuk senario seperti pembalakan dan kalkulator, meningkatkan fleksibiliti kod dan kebolehbacaan.

Terangkan serat dalam Php 8.1 untuk keserasian.Terangkan serat dalam Php 8.1 untuk keserasian.Apr 12, 2025 am 12:05 AM

Serat diperkenalkan dalam Php8.1, meningkatkan keupayaan pemprosesan serentak. 1) Serat adalah model konkurensi ringan yang serupa dengan coroutine. 2) Mereka membenarkan pemaju mengawal aliran pelaksanaan tugas secara manual dan sesuai untuk mengendalikan tugas I/O-intensif. 3) Menggunakan serat boleh menulis kod yang lebih cekap dan responsif.

Komuniti PHP: Sumber, Sokongan, dan PembangunanKomuniti PHP: Sumber, Sokongan, dan PembangunanApr 12, 2025 am 12:04 AM

Komuniti PHP menyediakan sumber dan sokongan yang kaya untuk membantu pemaju berkembang. 1) Sumber termasuk dokumentasi rasmi, tutorial, blog dan projek sumber terbuka seperti Laravel dan Symfony. 2) Sokongan boleh didapati melalui saluran StackOverflow, Reddit dan Slack. 3) Trend pembangunan boleh dipelajari dengan mengikuti RFC. 4) Integrasi ke dalam masyarakat dapat dicapai melalui penyertaan aktif, sumbangan kepada kod dan perkongsian pembelajaran.

PHP vs Python: Memahami PerbezaanPHP vs Python: Memahami PerbezaanApr 11, 2025 am 12:15 AM

PHP dan Python masing -masing mempunyai kelebihan sendiri, dan pilihannya harus berdasarkan keperluan projek. 1.Php sesuai untuk pembangunan web, dengan sintaks mudah dan kecekapan pelaksanaan yang tinggi. 2. Python sesuai untuk sains data dan pembelajaran mesin, dengan sintaks ringkas dan perpustakaan yang kaya.

PHP: Adakah ia mati atau hanya menyesuaikan diri?PHP: Adakah ia mati atau hanya menyesuaikan diri?Apr 11, 2025 am 12:13 AM

PHP tidak mati, tetapi sentiasa menyesuaikan diri dan berkembang. 1) PHP telah menjalani beberapa lelaran versi sejak tahun 1994 untuk menyesuaikan diri dengan trend teknologi baru. 2) Ia kini digunakan secara meluas dalam e-dagang, sistem pengurusan kandungan dan bidang lain. 3) Php8 memperkenalkan pengkompil JIT dan fungsi lain untuk meningkatkan prestasi dan pemodenan. 4) Gunakan OPCACHE dan ikut piawaian PSR-12 untuk mengoptimumkan prestasi dan kualiti kod.

Masa Depan PHP: Adaptasi dan InovasiMasa Depan PHP: Adaptasi dan InovasiApr 11, 2025 am 12:01 AM

Masa depan PHP akan dicapai dengan menyesuaikan diri dengan trend teknologi baru dan memperkenalkan ciri -ciri inovatif: 1) menyesuaikan diri dengan pengkomputeran awan, kontena dan seni bina microservice, menyokong Docker dan Kubernetes; 2) memperkenalkan pengkompil JIT dan jenis penghitungan untuk meningkatkan prestasi dan kecekapan pemprosesan data; 3) Berterusan mengoptimumkan prestasi dan mempromosikan amalan terbaik.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SecLists

SecLists

SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini