Maison  >  Article  >  développement back-end  >  Portée et visibilité des fonctions PHP

Portée et visibilité des fonctions PHP

王林
王林original
2024-04-14 09:06:01790parcourir

La portée des variables de fonction PHP est divisée en locale (uniquement à l'intérieur de la fonction) et globale (accessible à l'intérieur et à l'extérieur de la fonction). Le niveau de visibilité (public, protégé, privé) détermine la visibilité des méthodes et propriétés des fonctions, assurant l'encapsulation et l'organisation du code.

PHP 函数的范围和可见性

Portée et visibilité des fonctions PHP

Portée

La portée d'une fonction fait référence à la portée dans laquelle une variable peut être utilisée à l'intérieur ou à l'extérieur de la fonction. Les variables dans les fonctions PHP sont soit des variables locales, soit des variables globales.

Variables locales

Les variables locales sont déclarées et utilisées dans la fonction et ne sont pas accessibles en dehors de la fonction. Utilisez la notation $ pour déclarer les variables locales. $ 符号声明局部变量。

function myFunction() {
  $x = 5; // 局部变量
  echo $x; // 输出 5
}

// 尝试在函数外访问局部变量会报错
echo $x; // 报错: 未定义变量

全局变量

全局变量在函数外声明和使用,在函数内也可以访问。使用 global 关键字声明全局变量。

$y = 10; // 全局变量

function myFunction() {
  global $y; // 声明全局变量
  echo $y; // 输出 10
}

myFunction(); // 调用函数

可见性

可见性决定了类中的方法和属性对函数的可见性。PHP 中有三个可见性级别:

  • public: 对所有对象和函数可见
  • protected: 对派生类和父类可见
  • private: 仅对声明它们的类可见

实战案例

考虑一个包含 Customer

class Customer {
  private $name; // 私有属性
  public function getName() { // 公共方法
    return $this->name;
  }
}

// 在函数中访问私有属性 (报错)
function myFunction() {
  $customer = new Customer();
  echo $customer->name; // 报错: 无法访问私有属性
}

// 在函数中访问公共方法
function myOtherFunction() {
  $customer = new Customer();
  echo $customer->getName(); // 输出客户姓名
}

Variables globales

Les variables globales sont déclarées et utilisées en dehors de la fonction, et sont également accessibles au sein de la fonction. Utilisez le mot-clé global pour déclarer des variables globales.

rrreee

🎜Visibility🎜🎜🎜Visibility détermine la visibilité des méthodes et des propriétés d'une classe par rapport aux fonctions. Il existe trois niveaux de visibilité en PHP : 🎜
  • 🎜public : 🎜 Visible par tous les objets et fonctions
  • 🎜protected : 🎜 Visible par les classes dérivées et parentes
  • 🎜 private : 🎜 Visible uniquement par la classe dans laquelle ils sont déclarés
🎜🎜 Exemple pratique 🎜🎜🎜Considérons un programme contenant une classe Client : 🎜rrreee🎜🎜Conclusion🎜🎜 🎜La portée et la visibilité des fonctions sont importantes pour organiser le code et contrôler l'accès aux variables et aux méthodes. Comprendre ces concepts est crucial pour écrire des applications PHP claires et maintenables. 🎜

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