Memahami Perbezaan Antara 'self' dan '$this' dalam PHP 5
Apabila bekerja dengan pengaturcaraan berorientasikan objek dalam PHP 5, adalah penting untuk memahami perbezaan antara menggunakan 'diri' dan '$ini' dengan berkesan. Kedua-duanya adalah rujukan tetapi mempunyai tujuan yang berbeza dalam interaksi objek.
'$this' - Merujuk kepada Objek Semasa
Gunakan '$this' untuk mengakses ahli bukan statik pembolehubah dan kaedah dalam contoh semasa objek anda. Ia memberikan penunjuk langsung kepada objek tertentu yang sedang di instantiated. Sintaks '$this->member' membolehkan anda mengakses pembolehubah bukan statik, manakala '$this->method()' menggunakan kaedah contoh.
Contoh:
class Person { private $name; public function __construct($name) { $this->name = $name; } public function getName() { return $this->name; } }
Dalam contoh ini, '$this' digunakan untuk mengakses sifat 'name' dan kaedah 'getName()' dalam Objek 'Orang'.
'diri' - Merujuk kepada Kelas Semasa
Sebaliknya, 'diri' digunakan untuk mengakses ahli statik dan kaedah dalam kelas semasa . Ia merujuk kepada kelas itu sendiri, bukan contoh khusus kelas. Sintaks 'self::$static_member' membolehkan akses kepada pembolehubah statik, manakala 'self::static_method()' memanggil kaedah kelas.
Contoh:
class StaticCounter { private static $count = 0; public static function incrementCount() { self::$count++; } public static function getCount() { return self::$count; } }
Di sini, 'self' digunakan untuk mengakses pembolehubah statik 'count' dan kaedah kelas 'incrementCount()' dalam Kelas 'StaticCounter'.
Kesimpulan
Memahami penggunaan yang sesuai bagi 'self' dan '$this' adalah penting untuk pengaturcaraan berorientasikan objek yang berkesan dalam PHP 5. ' $this' menyasarkan ahli bukan statik objek semasa, manakala 'diri' memfokuskan pada ahli statik kelas semasa. Dengan menguasai perbezaan ini, anda boleh meningkatkan kejelasan dan fungsi kod anda apabila bekerja dengan kelas dan objek.
Atas ialah kandungan terperinci Apakah Perbezaan Antara `self` dan `$this` dalam Pengaturcaraan Berorientasikan Objek PHP 5?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!