From my point of view, when it comes to Class in PHP, the language used to express it is informal, and I am not sure whether it is correct.
Creating a class is easy.
Copy code The code is as follows:
class my_class{}
?>
What exactly do classes do? Many people say it is a black box, but I call it an independent whole here. We only know the class name, but not what is inside. So, how to use this class?
First of all: you need to know whether there are public variables defined in it - called "properties" in professional terms.
Secondly: You need to know what function is defined in it - it is called a "method" in professional terms.
I was confused by all the jargon, so I just ignored it.
How to define public variables in a class and what does it do?
It’s very simple, let’s extend the my_class class
Copy the code The code is as follows:
class my_class
{
var $username;
}
?>
Looking at the above, it is very simple. We have defined a public variable, just use It is composed of var+space+ordinary variable name. What is it used for? Consider a function. If we want to access variables outside the function, do we need to make it global first? The same is true for this effect. It wants all functions in this class to be able to access it, and one thing that distinguishes it from functions is that this variable can also be accessed from outside the class. I will talk about how to access it from the outside later. . There is another difference. You cannot use complex statements to assign a value to this variable (see the rules for yourself after you understand the class). Give it a default value
Copy the code The code is as follows:
class my_class
{
var $username="deep space";
}
?>
OK, a public variable is defined, and then a function is defined (that is, the so-called "method").
Copy code The code is as follows:
class my_class
{
var $ username="Deep Space";
function show_username()
{
//Function: Method-> Effect to be achieved
}
}
?>
This definition function is no different in form from an ordinary definition function. Just keep it simple, define a function that prints $username:
Copy the code The code is as follows:
class my_class
{
var $username="deep space";
function show_username($username)
{
//print
echo $username;
}
}
?>
Some people may be confused at this point, haha, the most important thing is here, see clearly. There are now three $usernames. Which one is which~~
There is no need to explain the row parameters of the function, right? The function of this function is to print the value received by the line parameter, that is, if:
Copy code The code is as follows:
< ?php
show_username("Pig's Head Deep Space");
?>
Then it will print "Pig's Head Deep Space", it's that simple.
How to access this function? It's definitely not the direct show_username("Pig Head Deep Space"); as I said above. Don't worry, there are different types of methods. As follows:
Copy code The code is as follows:
$Name=new my_class();
?>
This will initialize the my_class class above, and assign this object to the variable $Name. You can understand it this way, this variable represents the entire class, haha.
Use the functions in the class:
Copy the code The code is as follows:
$Name ->show_username("Pig Head Deep Sky");
?>
I’m confused, why is it so complicated? Want an arrow? It's actually very vivid. You have already given the class to the variable $Name, right? That is, $Name represents the class, and then an arrow points to the show_username function in the class. It's that simple, that is to say, this function is in this class, not other functions - you can understand it as indicating a difference, haha.
Try it out and print out the four words "Pig's Head Deep Sky". Why do you think it's so complicated? Isn’t it also possible to use functions? I said, of course you can’t see the benefits of such a simple thing, let’s continue to expand.
One more question: Why are the "public variables" mentioned just now useless? Why doesn't this function automatically receive the default value in this public variable var $username? That is, if I use:
Copy code The code is as follows:
$Name-> show_username($username);
?>
What will be the result? The answer is no output. Because you didn't give the formal parameter $username a value. So how to use this public variable?
Let’s modify this class:
Copy the code The code is as follows:
class my_class
{
var $username="deep space";
function show_username()
{
echo $this->username;
}
}
?>
Wow, isn’t it? There are no face parameters this time? There is also an extra $this->, which makes me dizzy, haha. In fact, this is also one of the biggest conveniences of classes.
The role of $this: access a public variable or a function in a class.
Visit? So professional? In fact, $this->username is used instead of var $username. $this is used to indicate that it is public. Accessible, things outside the function.
Try it out:
Copy the code The code is as follows:
$Name-> show_username();
?>
See, the words "deep space" are finally printed, Wahaha.
I don’t want to print the words “Deep Space”. I want to print “Pig Head Deep Space”. What should I do? It's very simple, we reassign this public variable. I'm impressed with you.
Copy code The code is as follows:
$Name->username="Pig Head Deep Sky ";
?>
Do you understand the meaning of this? $Name->username represents this public variable in the class. I don’t need to explain the equal sign assignment.
Let’s print it again
Copy the code The code is as follows:
$Name- >show_username();
?>
Haha, "Pig Head Deep Space" is finally printed. Not bad, it's very convenient. You can modify the printed value arbitrarily without formal parameters~~.
But just printing a name is too boring. Let’s say something welcome. Let’s extend this class and create a function called Welcome:
Copy codeThe code is as follows:
class my_class
{
var $username="deep space";
function show_username()
{
echo $this->username;
}
function Welcome()
{
}
}
?>
Well, what function can be achieved? To make it simple, just have the word "welcome" in front of the name
Copy the code The code is as follows:
class my_class
{
var $username="deep space";
function show_username()
{
echo $this->username;
}
function Welcome()
{
echo "Welcome";
$this->show_username();
}
}
?>
Did you see $this for the second time? $this->show_username(); What is it used for? In fact, it just calls the show_username function, using $this to indicate that this function is in the class and parallel to the Welcome function, rather than elsewhere (such as the Welcome function).
The function implemented by the Welcome function is very simple. First, print two words "Welcome", and then execute the show_username function to print the name.
Let’s try this function:
Copy the code The code is as follows:
$Name->Welcome();
?>
See, print out the four words "Welcome to Deep Space" A word.
But I want to print "Welcome to Pig Head Deep Space", what should I do? I’m convinced, let’s give the public variable var $username a value:
Copy the code The code is as follows:
< ;?php
$Name->username="Pig Head Deep Sky";
?>
Next print the welcome message:
Copy code The code is as follows:
$Name->Welcome();
?>
Hey, finally printed "Welcome to Pig Head Deep Space".
How about it? Do you understand the usage of classes? The advantage is that you can call any function in the class. As long as you point it out with $this, you can change the value of a public variable. You can use this public variable in the function in the class. .........There are so many, and its applications are waiting for you to discover.
The following is a very old article, I suggest you read it.
http://www.bkjia.com/PHPjc/320548.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/320548.htmlTechArticleFrom my point of view, the language used to express Class in PHP is informal language, and Not sure if it's correct. Creating a class is easy. Copy the code The code is as follows: ?php c...