Bagaimanakah Saya Boleh Mengakses Sifat Kelas PHP Menggunakan Rentetan?

Patricia Arquette
Lepaskan: 2024-11-16 00:10:03
asal
438 orang telah melayarinya

How Can I Access PHP Class Properties Using Strings?

Mengakses Sifat Kelas PHP dengan Rentetan

Untuk mendapatkan semula sifat dalam kelas PHP menggunakan rentetan, anda boleh menggunakan ciri akses sifat dinamik . Diperkenalkan dalam PHP 5.3, ciri ini membolehkan anda mengakses sifat menggunakan pembolehubah yang mengandungi nama sifat.

Mari kita ambil contoh:

class MyClass {
  public $name;
}

$obj = new MyClass();
$obj->name = 'John Doe';

// Using dynamic property access
$property = 'name';
echo $obj->$property; // Output: John Doe
Salin selepas log masuk

Ini bersamaan dengan:

echo $obj->name;
Salin selepas log masuk

Sebagai alternatif, jika anda mempunyai kawalan ke atas definisi kelas, anda boleh melaksanakan antara muka ArrayAccess, yang menyediakan lebih bersih sintaks untuk mengakses sifat:

class MyClass implements ArrayAccess {
  public $name;

  public function offsetExists($offset) {
    return property_exists($this, $offset);
  }

  public function offsetGet($offset) {
    return $this->$offset;
  }

  public function offsetSet($offset, $value) {
    $this->$offset = $value;
  }

  public function offsetUnset($offset) {
    unset($this->$offset);
  }
}

$obj = new MyClass();
$obj['name'] = 'John Doe';

echo $obj['name']; // Output: John Doe
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses Sifat Kelas PHP Menggunakan Rentetan?. 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