Home >Backend Development >PHP Tutorial >An introductory php Class article_PHP tutorial
I just took a quick look at the article about Class that was updated on the homepage (referring to the PHPE article http://www.phpe.net/articles/389.shtml). It’s very good. I recommend reading it.
Exploring classes~~ It took me half a year to roughly understand the functions and implementation of classes. The main reason is that there is no article that I can understand (I have never been exposed to any OO stuff before).
From my point of view, the language used to express Class in PHP is informal, and I am not sure whether it is correct.
Creating a class is easy.
class my_class {}
What exactly does a class do? What many people are is a black box, 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
class my_class
{
var $username;
}
Looking at the above, it’s very simple, we defined a public variable, Just use 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 global it 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
class my_class
{
var $username = "Deep Space";
}
OK, a public variable is defined, next define a Functions (also known as "methods").
class my_class
{
var $username = "deep space";
function show_username()
{
}
}
This definition function is the same as There is no difference in the form of ordinary defined functions. Just keep it simple, define a function that prints $username:
class my_class
{
var $username = "deep space";
function show_username($username)
{
echo $username;
}
}
Some people may be confused at this point, haha, the most important thing is here, see clearly. Now there are three $username s. 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:
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 categories. As follows:
$Name = new my_class();
This initializes the above my_class class and assigns this object to the variable $Name. You can understand it this way, this variable represents the entire Category, haha.
Use the function in the class:
$Name->show_username("Pig Head Deep Space");
I'm confused, why is it so complicated? Want an arrow? It's actually very vivid. The class has already been given to the variable $Name, right? That is, $Name represents this class, and then uses an arrow to point 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 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.
There is another 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:
$Name->show_username($username);
What will be the result? The answer is that there 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:
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:
$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.
$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
$Name->show_username();
Haha, finally printed “Pig Head Deep Space”. 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:
class my_class
{
var $username = "Deep Space";
function show_username()
{
echo $this->username;
}
function Welcome()
{
}
}
Well, what function can be implemented? To make it simple, just implement the word "welcome" in front of the name
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:
$Name->Welcome();
See, the words "Welcome to Deep Space" are printed out.
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:
$Name->username = "Pig Head Deep Space";
Next, print the welcome message:
$Name->Welcome();
Hey, "Welcome to Pig Head Deep Space" is finally printed.
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.