Rumah > pembangunan bahagian belakang > masalah PHP > Apakah perbezaan antara kaedah statik php dan kaedah instantiated

Apakah perbezaan antara kaedah statik php dan kaedah instantiated

WBOY
Lepaskan: 2023-03-15 15:52:01
asal
2129 orang telah melayarinya

Perbezaan: 1. Kaedah statik boleh dipanggil terus tanpa perlu membuka ruang dan operasi lain, manakala kaedah contoh perlu membuka ruang 2. Kaedah statik berkongsi ruang dan data yang sama, manakala kaedah contoh melakukannya tidak berkongsi ruang dan data yang sama; 3. Kaedah statik tidak menyokong penulisan berantai, tetapi kaedah contoh menyokong penulisan berantai.

Apakah perbezaan antara kaedah statik php dan kaedah instantiated

Persekitaran pengendalian artikel ini: sistem Windows 10, PHP versi 7.1, komputer Dell G3.

Apakah perbezaan antara kaedah statik PHP dan kaedah instantiasi

Kaedah statik hanya menduduki satu salinan memori dan dibuat apabila kaedah atau kelas Instantiation hanya dibuat apabila baru Baru dibuat. Setiap objek instantiated mewakili contoh yang berbeza, dan hanya terdapat satu salinan statik. Beri perhatian khusus kepada fakta bahawa kaedah statik berkongsi sumber dalam berbilang benang.

Perbezaan:

1. Panggilan kaedah statik tidak memerlukan nama kelas::nama kaedah baharu.

Contohnya:

User::find();
Salin selepas log masuk

Nota: Sifat bukan statik tidak boleh dipanggil dalam kaedah statik.

Kaedah contoh memerlukan yang baharu.

Contohnya:

12$userObj = new User;$userObj->find();
Salin selepas log masuk

2. Terdapat hanya satu salinan kaedah statik dalam ingatan dan sumber dikongsi dalam kitaran hayat PHP.

Nota: Kaedah dan sifat statik dimuatkan semasa kelas dimuatkan, jadi terlalu banyak kaedah statik akan menggunakan lebih banyak memori.

Setiap kali kaedah contoh baharu, ruang bebas akan dibuka, iaitu, terdapat berbilang salinan dalam ingatan.

3. Prestasi kaedah statik: panggilan terus, tidak perlu membuka ruang dan operasi lain, lebih baik dari segi masa dan kecekapan

Kaedah contoh memerlukan sedikit masa untuk membuka ruang dan operasi lain

4. Kaedah statik berkongsi ruang yang sama dan data yang sama, jadi kaedah statik lebih sesuai dalam senario tertentu

Berbilang contoh kaedah contoh tidak berkongsi ruang dan data yang sama

5. Penulisan rantai Kaedah Statik tidak menyokong

sokongan kaedah contoh. Contohnya:

1$userObj->fields('uid')->where('uid>0')->find();
Salin selepas log masuk

Pembelajaran yang disyorkan: "Tutorial Video PHP"

Atas ialah kandungan terperinci Apakah perbezaan antara kaedah statik php dan kaedah instantiated. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan