Maison > Article > développement back-end > Portée de la fonction PHP et autorisations d'accès
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.
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 :
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 :
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 :
$items
est privée dans la classe Cart
et n'est accessible qu'au sein de la classe. $items
变量在 Cart
类中是私有的,只可在类内部访问。addItem
和 getItems
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!