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. PHP code:------------------------------------------------ ---------------------------------- class my_class {} ------------- -------------------------------------------------- ------------------What exactly do classes 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 so confused by the jargon that I just ignored it. How to define public variables in a class and what does it do? It's very simple, let's extend my_class class PHP code:--------------------------------------------- ---------------------------------------- class my_class { var $username; } - -------------------------------------------------- ----------------------------- The above is very simple. We have defined a public variable, just use var + space + ordinary variable name. constitute. 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 PHP code:--------------------------------------------- ------------------------------------- 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"). PHP code:------------------------------------------------- ---------------------------------- class my_class { var $username = "Deep Space"; function show_username() { } }------------------------------------------------ -------------------------------- This definition function is no different in form from the ordinary definition function. Just keep it simple, define a function that prints $username: PHP code: ---------------------------------- --------------------------------------------- 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. 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: PHP code:---------------------------------- --------------------------------------------------show_username ("Pig's Head Deep Space"); --------------------------------------------- ------------------------------------- Then it will print "Pig Head Deep Space" and that's it 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 classes. As follows: PHP code:--------------------------------------------- ---------------------------------- $Name = new my_class(); ------- -------------------------------------------------- ----------------------- This initializes the my_class class above and assigns this object to the variable $Name. You can understand it this way. The variable represents the entire class, haha. Using the functions in the class: PHP code:----------------------------------------- --------------------------------------- $Name->show_username("Pig Head Deep Space" );------------------------------------------------ -------------------------------- 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 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. 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: PHP code:----------------------------------------- --------------------------------------- $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: PHP code:------------------------------------------------ ------------------------------------------ class my_class { var $username = "Deep Space "; function show_username() { echo $this->username; } } ---------------------------------- ----------------------------------------------- Oh shit, no. Well, 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 the class.access? 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: PHP code:-------------------------------------------------- ------------------------------------ $Name->show_username(); ------ -------------------------------------------------- ----------------------------- You 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. PHP code:------------------------------------------------ ---------------------------------- $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 the PHP code 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 named Welcome: PHP code:---------------- -------------------------------------------------- -------------- class my_class { var $username = "Deep Space"; function show_username() { echo $this->username; } function Welcome() { } } ---- -------------------------------------------------- -------------------------- Well, what function is best to implement? To make it simple, just have "Welcome" in front of the name. The PHP code is:-------------------------------- -------------------------------------------------- - class my_class { var $username = "Deep Space"; function show_username() { echo $this->username; } function Welcome() { echo "Welcome"; $this->show_username(); } } ---- -------------------------------------------------- ----------------------------- Is this the second time you see $this? $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, it prints two words "Welcome", and then executes the show_username function to print the name. Let’s try this function: PHP code:--------------------------------------------- ------------------------------------------ $Name->Welcome(); -- -------------------------------------------------- ------------------------------- You 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: PHP code:-------------------------------- -------------------------------------------------- $Name->username = "Pig Head Deep Sky"; ----------------------------------------------- --------------------------------------------- Next print the welcome message: PHP code :------------------------------------------------- ------------------------------- $Name->Welcome(); ---------- -------------------------------------------------- ------------------- Hehe, 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.