Maison  >  Article  >  développement back-end  >  Portée de la fonction PHP et autorisations d'accès

Portée de la fonction PHP et autorisations d'accès

WBOY
WBOYoriginal
2024-04-10 11:21:011172parcourir

Les fonctions PHP ont une portée et des autorisations d'accès, qui déterminent la visibilité des variables et des fonctions. La portée inclut le local (uniquement au sein de la fonction), le global (à l'intérieur et à l'extérieur de la fonction) et le superglobal (n'importe quelle portée). Les droits d'accès incluent public (accès depuis n'importe où), protégé (accès uniquement aux classes et sous-classes) et privé (accès au sein de la classe uniquement). En combat réel, les variables privées de la classe panier ne sont accessibles qu'à l'intérieur de la classe, tandis que les méthodes publiques peuvent être appelées de l'extérieur, reflétant l'application de la portée et des droits d'accès.

PHP 函数的作用域和访问权限

Portée et autorisations d'accès des fonctions PHP

Portée de la fonction

La portée d'une fonction détermine la portée des variables disponibles dans le code. Il existe trois types de scopes en PHP :

  • Variables locales : uniquement disponibles dans les fonctions.
  • Variables globales : disponibles à la fois dans les fonctions internes et externes.
  • Variables super globales : disponibles dans n'importe quelle portée.

Exemple de portée variable

<?php
function myFunction() {
  $localVariable = "Local"; // 局部变量
  echo $localVariable; // 在函数内部可用
}

$globalVariable = "Global"; // 全局变量
myFunction();
echo $globalVariable; // 在函数外部可用
?>

Autorisations d'accès

Les autorisations d'accès aux fonctions contrôlent l'accès aux fonctions par code externe. Il existe trois types de droits d'accès en PHP :

  • public : accessible de n'importe où.
  • protected : Uniquement accessible au sein de la classe et de ses sous-classes.
  • privé : accessible uniquement à l'intérieur de la classe.

Exemple d'autorisations d'accès

<?php
class MyClass {
  public function publicMethod() {
    // 可从任何地方访问
  }

  protected function protectedMethod() {
    // 可从类及其子类中访问
  }

  private function privateMethod() {
    // 仅可从类内部访问
  }
}

$myClass = new MyClass();
$myClass->publicMethod(); // 可访问
$myClass->protectedMethod(); // 可访问(类外部子类中)
$myClass->privateMethod(); // 错误,不可访问
?>

Cas pratique

Créez une classe de panier simple pour afficher la portée et les autorisations d'accès.

<?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()); // 输出购物车中的物品
?>

Dans cet exemple :

  • La variable $items est privée dans la classe Cart et n'est accessible qu'au sein de la classe. $items 变量在 Cart 类中是私有的,只可在类内部访问。
  • addItemgetItems
  • Les méthodes addItem et getItems sont publiques et accessibles depuis du code externe.
🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn