Skop dan keterlihatan panggilan fungsi dalam PHP OOP

PHPz
Lepaskan: 2024-04-11 09:51:01
asal
979 orang telah melayarinya

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.

PHP OOP 中函数调用的作用域和可见性

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:

  • Skop setempat: Pembolehubah yang ditakrifkan di dalam fungsi hanya boleh dilihat di dalam fungsi tersebut.
  • Skop global: Pembolehubah yang ditakrifkan di luar fungsi boleh diakses sepanjang skrip.

Keterlihatan

Keterlihatan fungsi mentakrifkan skop di mana fungsi boleh diakses oleh fungsi lain. Terdapat tiga tahap keterlihatan dalam PHP:

  • awam: Fungsi boleh diakses dari mana-mana sahaja.
  • dilindungi: Fungsi hanya boleh diakses dalam subkelas kelas ini.
  • peribadi: Fungsi hanya boleh diakses dalam kelas ini.

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();
?>
Salin selepas log masuk
e

output:

局部变量:局部变量
全局变量:全球变量
Salin selepas log masuk
e

taktif Contoh

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(); // 错误:无法访问私有属性
?>
Salin selepas log masuk

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!

Label berkaitan:
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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!