PHP 함수에는 변수와 함수의 가시성을 결정하는 범위와 액세스 권한이 있습니다. 범위에는 로컬(함수 내에서만), 전역(함수 내부 및 외부), 슈퍼글로벌(모든 범위)이 포함됩니다. 액세스 권한에는 퍼블릭(어디서든 액세스), 보호(클래스 및 서브클래스에만 액세스), 프라이빗(클래스 내에서만 액세스)이 포함됩니다. 실제 전투에서 장바구니 클래스의 프라이빗 변수는 클래스 내에서만 접근이 가능하고, 퍼블릭 메소드는 범위와 접근권한 적용을 반영하여 외부에서 호출이 가능합니다.
PHP 함수의 범위 및 액세스 권한
함수 범위
함수의 범위는 코드에서 사용할 수 있는 변수의 범위를 결정합니다. PHP에는 세 가지 유형의 범위가 있습니다.
변수 범위 예
<?php function myFunction() { $localVariable = "Local"; // 局部变量 echo $localVariable; // 在函数内部可用 } $globalVariable = "Global"; // 全局变量 myFunction(); echo $globalVariable; // 在函数外部可用 ?>
액세스 권한
함수 액세스 권한은 외부 코드로 함수에 대한 액세스를 제어합니다. PHP에는 세 가지 유형의 액세스 권한이 있습니다.
액세스 권한 예시
<?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
类中是私有的,只可在类内部访问。addItem
和 getItems
addItem
및 getItems
메서드는 공개되어 있으며 외부 코드에서 액세스할 수 있습니다. 위 내용은 PHP 함수 범위 및 액세스 권한의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!