Skop dan keterlihatan panggilan fungsi: Skop: Mentakrifkan skop pembolehubah yang boleh diakses oleh fungsi (tempatan/global). Keterlihatan: Tentukan skop fungsi yang boleh diakses oleh fungsi lain (awam/dilindungi/peribadi). Skop berkuat kuasa apabila fungsi dipanggil dan menentukan pembolehubah yang boleh diakses. Kes praktikal: Ambil kelas Pengguna sebagai contoh untuk menunjukkan sekatan keterlihatan sifat dan kaedah.
Skop dan Keterlihatan Panggilan Fungsi dalam PHP OOP
Skop
Skop fungsi mentakrifkan skop pembolehubah yang boleh diakses oleh fungsi. Terdapat dua jenis skop dalam PHP:
Keterlihatan
Keterlihatan fungsi mentakrifkan skop di mana fungsi boleh diakses oleh fungsi lain. Terdapat tiga tahap keterlihatan dalam PHP:
Skop panggilan fungsi
Apabila fungsi dipanggil, peranan skop adalah untuk menentukan pembolehubah yang boleh diakses. Pembolehubah hanya boleh mengakses pembolehubah dalam skopnya. Contoh berikut menunjukkan bagaimana skop mempengaruhi akses kepada pembolehubah:
<?php $global_variable = "全球变量"; function myFunction() { $local_variable = "局部变量"; echo "局部变量:$local_variable<br>"; echo "全局变量:$global_variable<br>"; } myFunction(); ?>
局部变量:局部变量
全局变量:全球变量
Memandangkan kelas yang mengendalikan maklumat pengguna:
<?php class User { public $name; protected $email; private $password; public function __construct($name, $email, $password) { $this->name = $name; $this->email = $email; $this->password = $password; } public function getName() { return $this->name; } protected function getEmail() { return $this->email; } private function getPassword() { return $this->password; } } $user = new User("约翰·史密斯", "john.smith@example.com", "12345"); echo $user->getName(); // 约翰·史密斯 echo $user->getEmail(); // 错误:无法访问受保护属性 echo $user->getPassword(); // 错误:无法访问私有属性 ?>
in Contoh ini:
$name
ialah harta awam dan boleh diakses dari mana-mana sahaja. $email
ialah harta yang dilindungi dan hanya boleh diakses dalam subkelas kelas とその. $name
是一个公共属性,可以在任何地方访问。$email
是一个受保护属性,只能在类とその子类中访问。$password
是一个私有属性,只能在类中访问。getName()
是一个公共方法,可以在任何地方调用。getEmail()
是一个受保护方法,只能在类とその子类中调用。getPassword()
$password
ialah harta peribadi dan hanya boleh diakses dalam kelas. getName()
ialah kaedah awam yang boleh dipanggil di mana-mana sahaja. 🎜🎜getEmail()
ialah kaedah yang dilindungi dan hanya boleh dipanggil dalam subkelas kelas とその. 🎜🎜getPassword()
ialah kaedah peribadi dan hanya boleh dipanggil dalam kelas. 🎜🎜Atas ialah kandungan terperinci Skop dan keterlihatan panggilan fungsi dalam PHP OOP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!