函數呼叫的作用域和可見性:作用域:定義函數可存取變數的範圍(本地/全域)。可見性:定義函數可被其他函數存取的範圍(public/protected/private)。作用域在函數呼叫時生效,確定可存取的變數。實戰案例:以 User 類別為例,示範屬性和方法的可見性限制。
PHP OOP 中函數呼叫的作用域與可見性
##作用域
函數的作用域定義了該函數可存取變數的範圍內。在 PHP 中有兩種作用域:可見性
函數的可見性定義了函數可以被其他函數存取的範圍。在 PHP 中有三個可見性等級:函數呼叫的作用域
當函數被呼叫時,作用域的作用是決定可以存取哪些變數。變數只能存取在其作用域內的變數。 以下範例展示了作用域如何影響變數的存取:<?php $global_variable = "全球变量"; function myFunction() { $local_variable = "局部变量"; echo "局部变量:$local_variable<br>"; echo "全局变量:$global_variable<br>"; } myFunction(); ?>
#輸出:
局部变量:局部变量 全局变量:全球变量
實戰案例
考慮一個用於處理使用者資訊的類別:<?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(); // 错误:无法访问私有属性 ?>
是一個公共屬性,可以在任何地方訪問。
是一個受保護屬性,只能在類別とその子類別中存取。
是一個私有屬性,只能在類別中存取。
是一個公用方法,可以在任何地方呼叫。
是一個受保護方法,只能在類別とその子類別中呼叫。
是一個私有方法,只能在類別中呼叫。
以上是PHP OOP 中函數呼叫的作用域與可見性的詳細內容。更多資訊請關注PHP中文網其他相關文章!