Home > Backend Development > PHP Problem > What are the access control characters of php?

What are the access control characters of php?

青灯夜游
Release: 2023-03-11 15:40:02
Original
2448 people have browsed it

php's access control symbols are: 1. public, set the property or method to be accessible from anywhere; 2. private, set the property or method to be accessible only by its own class or object; 3. Protected, sets a property or method to be accessible by its class or its descendants.

What are the access control characters of php?

The operating environment of this tutorial: windows7 system, PHP7.1 version, DELL G3 computer

Access control modifier list

Access modifier Meaning
Public Set a property or method to be accessible from anywhere
Private Set a property or method to be accessible only by its own class or object
Protected Set a property or method to be accessible by its class or its descendants

public

Public properties and methods can be accessed from anywhere.

<?PHP
class Book {
        public $Name;
        public function say() {
                print "PHP!\n";
        }
}
class PythonBook extends Book {
        public function say() {
                print "Python!\n";
        }
}
$aBook = new PythonBook;
$aBook->Name = "Python";
print $aBook->Name;
?>
Copy after login

By default, all class methods are public.

The above code generates the following results.

What are the access control characters of php?

private

Private properties can only be accessed within their own class.

<?PHP
class Book {
        private $Name;
        private $NameTag;
        public function setName($NewName) {
                // etc
        }
}
?>
Copy after login

Subclasses cannot access private parent methods and properties. If you want to do this, you need the protected keyword.

Protected

Protected properties and methods are accessible within their own class and subclasses. Consider the following code:

<?PHP
class Book {
        public $Name;
        protected function getName() {
                return $this->Name;
        }
}
class Poodle extends Book {
        public function say() {
                print ""Book", says " . $this->getName();
        }
}
$aBook = new Poodle;
$aBook->Name = "PHP";
$aBook->say();
?>
Copy after login

The above code generates the following results.

What are the access control characters of php?

Example

The code below shows how to use Private members to hide information.

<?php
  class Widget
  {
    private $name;
    private $price;
    private $id;
    public function __construct($name, $price)
    {
      $this->name = $name;
      $this->price = floatval($price);
      $this->id = uniqid();
    }
    //checks if two widgets are the same
    public function equals($widget)
    {
      return(($this->name == $widget->name) AND
       ($this->price == $widget->price));
    }
  }
  $w1 = new Widget("Cog", 5.00);
  $w2 = new Widget("Cog", 5.00);
  $w3 = new Widget("Gear", 7.00);
  //TRUE
  if($w1->equals($w2))
  {
    print("w1 and w2 are the same<br>\n");
  }
  //FALSE
  if($w1->equals($w3))
  {
    print("w1 and w3 are the same<br>\n");
  }
  //FALSE, == includes id in comparison
  if($w1 == $w2)
  {
    print("w1 and w2 are the same<br>\n");
  }
?>
Copy after login

The above code generates the following results.

What are the access control characters of php?

Recommended study: "PHP Video Tutorial"

The above is the detailed content of What are the access control characters of php?. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
php
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template