>  기사  >  백엔드 개발  >  PHP 함수 범위 및 액세스 권한

PHP 함수 범위 및 액세스 권한

WBOY
WBOY원래의
2024-04-10 11:21:011172검색

PHP 함수에는 변수와 함수의 가시성을 결정하는 범위와 액세스 권한이 있습니다. 범위에는 로컬(함수 내에서만), 전역(함수 내부 및 외부), 슈퍼글로벌(모든 범위)이 포함됩니다. 액세스 권한에는 퍼블릭(어디서든 액세스), 보호(클래스 및 서브클래스에만 액세스), 프라이빗(클래스 내에서만 액세스)이 포함됩니다. 실제 전투에서 장바구니 클래스의 프라이빗 변수는 클래스 내에서만 접근이 가능하고, 퍼블릭 메소드는 범위와 접근권한 적용을 반영하여 외부에서 호출이 가능합니다.

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

PHP 함수의 범위 및 액세스 권한

함수 범위

함수의 범위는 코드에서 사용할 수 있는 변수의 범위를 결정합니다. PHP에는 세 가지 유형의 범위가 있습니다.

  • 로컬 변수: 함수 내부에서만 사용할 수 있습니다.
  • 전역 변수: 내부 및 외부 함수 모두 사용할 수 있습니다.
  • 수퍼 전역 변수: 모든 범위에서 사용할 수 있습니다.

변수 범위 예

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

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

액세스 권한

함수 액세스 권한은 외부 코드로 함수에 대한 액세스를 제어합니다. PHP에는 세 가지 유형의 액세스 권한이 있습니다.

  • public: 어디서나 액세스할 수 있습니다.
  • protected: 클래스와 해당 하위 클래스 내에서만 액세스할 수 있습니다.
  • private: 수업 내에서만 접근 가능합니다.

액세스 권한 예시

<?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 변수는 Cart 클래스에서 비공개이며 클래스 내에서만 액세스할 수 있습니다. $items 变量在 Cart 类中是私有的,只可在类内部访问。
  • addItemgetItems
  • addItemgetItems 메서드는 공개되어 있으며 외부 코드에서 액세스할 수 있습니다.
🎜

위 내용은 PHP 함수 범위 및 액세스 권한의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.