Rumah > pembangunan bahagian belakang > masalah PHP > Apakah perbezaan antara kaedah memanggil objek php

Apakah perbezaan antara kaedah memanggil objek php

尊渡假赌尊渡假赌尊渡假赌
Lepaskan: 2023-06-20 14:25:31
asal
1414 orang telah melayarinya

Perbezaan antara kaedah memanggil objek PHP ialah: 1. Gunakan "->" untuk memanggil sifat ahli dan kaedah objek Anda perlu membuat instantiat objek itu dahulu dan kemudian mengaksesnya melalui objek pembolehubah, semasa menggunakan ":: "Untuk memanggil sifat statik dan kaedah kelas, anda tidak perlu membuat instantiate objek terlebih dahulu, tetapi secara langsung menggunakan nama kelas dan nama sifat/kaedah statik untuk mengakses 2. Gunakan "-> " untuk mengakses sifat dan kaedah bukan statik, dan anda juga boleh menukar sifat dan kaedah panggilan secara dinamik, semasa menggunakan "::" tidak boleh mengakses sifat dan kaedah bukan statik, anda juga tidak boleh menukar nilai harta, tetapi ia lebih pantas daripada panggilan dinamik .

Apakah perbezaan antara kaedah memanggil objek php

Sistem pengendalian untuk tutorial ini: Sistem Windows 10, versi php8.1.3, komputer Dell G3.

Dalam PHP, kaedah panggilan objek biasa ialah `->` dan `::`.

Antaranya, `->` digunakan untuk memanggil sifat ahli dan kaedah objek, dan `::` digunakan untuk memanggil sifat statik dan kaedah kelas.

1. `->` Panggil atribut ahli dan kaedah objek

Gunakan `->` untuk memanggil atribut ahli dan kaedah objek , yang perlu digunakan dahulu Objek dan kemudian mengaksesnya melalui pembolehubah objek. Kelebihan pendekatan ini ialah anda boleh mengakses sifat dan kaedah bukan statik, dan anda juga boleh menukar sifat dan kaedah panggilan secara dinamik. Kelemahannya ialah ia lebih perlahan sedikit daripada panggilan statik kerana objek perlu dibuat instantiated terlebih dahulu.

Kod contoh:

```php
class Person {
    public $name;
    
    public function sayHello() {
        echo "Hello, my name is {$this->name}!";
    }
}
$person = new Person();
$person->name = 'Alice';
$person->sayHello(); // 输出:Hello, my name is Alice!
```
Salin selepas log masuk

Dalam contoh di atas, kami mencipta kelas `Person` dan membuat instantiated objek `$person`. Atribut `name` ditetapkan melalui `$person->name`, dan kemudian kaedah `sayHello()` dipanggil melalui `$person->sayHello()` untuk mengeluarkan ucapan.

2 `::` Panggil sifat statik dan kaedah kelas

Gunakan `::` untuk memanggil sifat statik dan kaedah kelas tanpa membuat seketika objek dahulu, tetapi akses terus menggunakan nama kelas dan nama sifat/kaedah statik. Kelebihan kaedah ini ialah ia lebih pantas daripada panggilan dinamik kerana tidak perlu membuat instantiate objek terlebih dahulu. Kelemahannya ialah sifat dan kaedah bukan statik tidak boleh diakses, dan nilai harta tidak boleh diubah.

Berikut ialah contoh kod PHP mudah yang menunjukkan cara memanggil sifat statik dan kaedah kelas:

```php
<?php
class MyClass {
  public static $myStaticProperty = "Hello World!";
  public static function myStaticMethod() {
    echo "This is a static method.";
  }
}
echo MyClass::$myStaticProperty; // 输出 "Hello World!"
MyClass::myStaticMethod(); // 输出 "This is a static method."
?>
```
Salin selepas log masuk

Mulakan dengan mengisytiharkan kelas yang dipanggil `MyClass`. Dalam kelas ini, sifat statik awam yang dipanggil `$myStaticProperty` ditakrifkan dan ditetapkan kepada rentetan `"Hello World!"`. Seterusnya, kaedah statik awam yang dipanggil `myStaticMethod()` juga ditakrifkan, yang hanya mencetak mesej.

Untuk mengakses sifat dan kaedah statik ini, panggil mereka menggunakan nama kelas ditambah operator resolusi skop `::`. Sebagai contoh, anda boleh menggunakan `MyClass::$myStaticProperty` untuk mengakses sifat `$myStaticProperty` dan mencetak nilainya, atau menggunakan `MyClass::myStaticMethod()` untuk memanggil kaedah `myStaticMethod()` dan melaksanakan kod dalam ia.

Atas ialah kandungan terperinci Apakah perbezaan antara kaedah memanggil objek php. 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