php 函数具有作用域和访问权限,决定了变量和函数的可见性。作用域包括局部(仅限函数内)、全局(函数内外)、超全局(任何作用域)。访问权限包括 public(任何地方访问)、protected(仅限类及子类访问)、private(仅限类内访问)。实战中,购物车类的私有变量只限类内访问,而公有方法可从外部调用,体现了作用域和访问权限的应用。
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
类中是私有的,只可在类内部访问。 -
addItem
和getItems
方法是公有的,可从外部代码访问。
以上就是PHP 函数的作用域和访问权限的详细内容,更多请关注叮当号网其它相关文章!
文章来自互联网,只做分享使用。发布者:牧草,转转请注明出处:https://www.dingdanghao.com/article/329410.html