Home>Article>Backend Development> PHP learning private properties of external calling classes

PHP learning private properties of external calling classes

little bottle
little bottle forward
2019-04-26 18:02:37 2560browse

This article mainly talks about the private properties of external calling classes, which has certain reference value. Interested friends can learn about it and hope to help you.

Private attributes of external calling classes

First let’s take a look at the__getand__setfunctions in the PHP class
When trying to get an unavailable When the attribute is reached, the class will automatically call the__getfunction.
When trying to set an unreachable property, the class will automatically call the__setfunction.

First, let’s take a look at the__getfunction. Let’s try to get a reachable attribute:

a; ?>

Look at its return:

1

No problem, the__getfunction is not called. Now I will access a private unreachable attribute:

b; ?>

and I will find:

you can get b

It means__get is called herefunction, let me take a look at the__setfunction, which also uses the reachablepublicattribute first:

a = 1; echo $dy->a; ?>

Look at the output:

1

Used successfully, no problem, then we use private attributes:

b = 1; echo $dy->b; ?>

At this time we see:

you can get b1 PHP Fatal error: Cannot access private property A::$b in /usercode/file.php on line 11

The__setfunction is called here and prompts us that we cannot use it Private properties of the class.
Now let’s use the__setfunction to implement external use of private attributes:

$name=$val; } function B(){ echo $this->b; } } $dy = new A(); $dy->b = 1; $dy->B(); ?>

Look at the output:

1

It means the use is successful.

Related tutorials:PHP video tutorial

The above is the detailed content of PHP learning private properties of external calling classes. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:cnblogs.com. If there is any infringement, please contact admin@php.cn delete