PHP 関数にはスコープとアクセス許可があり、変数と関数の可視性を決定します。スコープには、ローカル (関数内のみ)、グローバル (関数の内部および外部)、およびスーパーグローバル (任意のスコープ) が含まれます。アクセス権には、パブリック (どこからでもアクセス)、保護 (クラスおよびサブクラスへのアクセスのみ)、およびプライベート (クラス内のみのアクセス) があります。実際の戦闘では、ショッピング カート クラスのプライベート変数はクラス内でのみアクセスできますが、パブリック メソッドはスコープとアクセス権の適用を反映して外部から呼び出すことができます。
#PHP 関数のスコープとアクセス権限
関数のスコープ
関数のスコープによって、コード内で使用できる変数のスコープが決まります。 PHP には 3 種類のスコープがあります:<?php
function myFunction() {
$localVariable = "Local"; // 局部变量
echo $localVariable; // 在函数内部可用
}
$globalVariable = "Global"; // 全局变量
myFunction();
echo $globalVariable; // 在函数外部可用
?>
関数アクセス許可は、外部コードによる関数へのアクセスを制御します。 PHP には 3 種類のアクセス権があります。
<?php class MyClass { public function publicMethod() { // 可从任何地方访问 } protected function protectedMethod() { // 可从类及其子类中访问 } private function privateMethod() { // 仅可从类内部访问 } } $myClass = new MyClass(); $myClass->publicMethod(); // 可访问 $myClass->protectedMethod(); // 可访问(类外部子类中) $myClass->privateMethod(); // 错误,不可访问 ?>実際的なケース
スコープと範囲を表示する単純なショッピング カート クラスを作成します。アクセス権。
<?php class Cart { private $items = []; public function addItem($item) { $this->items[] = $item; // 局部变量 $item 可在此处访问 } public function getItems() { return $this->items; // 局部变量 $items 可在此处访问 } } $cart = new Cart(); $cart->addItem("苹果"); $cart->addItem("香蕉"); print_r($cart->getItems()); // 输出购物车中的物品 ?>この例: $items
クラス内でプライベートであり、クラス内でのみアクセスできます。 。
addItem メソッドはパブリックであり、外部コードからアクセスできます。
以上がPHP関数のスコープとアクセス権限の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。