Rumah >pembangunan bahagian belakang >tutorial php >Skop fungsi PHP dan kebenaran akses

Skop fungsi PHP dan kebenaran akses

WBOY
WBOYasal
2024-04-10 11:21:011273semak imbas

Fungsi PHP mempunyai skop dan kebenaran akses, yang menentukan keterlihatan pembolehubah dan fungsi. Skop termasuk setempat (hanya dalam fungsi), global (dalam dan luar fungsi), dan superglobal (sebarang skop). Hak akses termasuk awam (akses dari mana-mana sahaja), dilindungi (akses hanya kepada kelas dan subkelas), dan peribadi (akses dalam kelas sahaja). Dalam pertempuran sebenar, pembolehubah persendirian kelas troli beli-belah hanya boleh diakses dalam kelas, manakala kaedah awam boleh dipanggil dari luar, mencerminkan penggunaan skop dan hak akses.

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

Skop dan kebenaran akses fungsi PHP

Skop fungsi

Skop fungsi menentukan skop pembolehubah yang tersedia dalam kod. Terdapat tiga jenis skop dalam PHP:

  • Pembolehubah setempat: hanya tersedia dalam fungsi dalam.
  • Pembolehubah global: tersedia dalam dan luar fungsi.
  • Pembolehubah super global: tersedia dalam sebarang skop.

Contoh skop pembolehubah

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

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

Kebenaran akses

Kebenaran akses fungsi mengawal akses kepada fungsi melalui kod luaran. Terdapat tiga jenis hak akses dalam PHP:

  • awam: boleh diakses dari mana-mana sahaja.
  • dilindungi: Hanya boleh diakses dalam kelas dan subkelasnya.
  • peribadi: hanya boleh diakses di dalam kelas.

Contoh kebenaran akses

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

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

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

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

Kes praktikal

Bina kelas troli beli-belah mudah untuk menunjukkan skop dan kebenaran akses.

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

Dalam contoh ini:

  • $items pembolehubah adalah peribadi dalam kelas Cart dan hanya boleh diakses dalam kelas. $items 变量在 Cart 类中是私有的,只可在类内部访问。
  • addItemgetItems
  • Kaedah addItem dan getItems adalah awam dan boleh diakses daripada kod luaran.
🎜

Atas ialah kandungan terperinci Skop fungsi PHP dan kebenaran akses. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn