marlboroclassics recommends an entry-level Class article

WBOY
Release: 2016-07-29 08:36:47
Original
913 people have browsed it

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, 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.
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.
Second: You need to know what function is defined in it - it is called a "method" in professional terms.
I was confused by these professional terms, 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 have defined a public variable, which is just 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 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, and then a function (also known as a "method") is defined.
class my_class
{
var $username = "deep space";
function show_username()
{
}
}
This definition function is no different in form from an ordinary definition function. Just keep it simple, define a function that prints $username:
class my_class
{
var $username = "deep space";
function show_username($username)
{
echo $username;
}
}
Maybe someone here Some people are starting to get confused, 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 will initialize the above my_class class, and assign this object to the variable $Name. You can understand it this way, this variable represents the entire class, 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? In fact, it is 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.
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, no, this Are all the parameters for the face-turning function gone? 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";
Can 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 should be implemented? To make it simple, just have 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 four 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 hehe , finally printed "Welcome to Pig Head Deep Space".
How is 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 above introduces marlboroclassics. I recommend an entry-level Class article, including the content of marlboroclassics. I hope it will be helpful to friends who are interested in PHP tutorials.

Related labels:
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