関数呼び出しのスコープと可視性: スコープ: 関数にアクセスできる変数のスコープ (ローカル/グローバル) を定義します。可視性: 他の関数からアクセスできる関数の範囲 (パブリック/プロテクト/プライベート) を定義します。スコープは関数が呼び出されたときに有効になり、アクセス可能な変数を決定します。実際のケース: User クラスを例として、プロパティとメソッドの可視性の制限を示します。
#PHP OOP における関数呼び出しのスコープと可視性
スコープ#関数のスコープは、関数にアクセスできる変数のスコープを定義します。 PHP には 2 種類のスコープがあります。
関数の可視性は、他の関数がその関数にアクセスできる範囲を定義します。 PHP には 3 つの可視性レベルがあります。
関数が呼び出されるとき、スコープの役割は、どの変数にアクセスできるかを決定することです。変数は、そのスコープ内の変数にのみアクセスできます。
次の例は、スコープが変数アクセスにどのような影響を与えるかを示しています:
<?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(); // 错误:无法访问私有属性 ?>この例では: $name
$email
$password
getName()
getEmail()
getPassword()
以上がPHP OOP での関数呼び出しのスコープと可視性の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。