PHP class and constructor analysis

高洛峰
Release: 2023-03-05 20:34:01
Original
994 people have browsed it

Everyone has a certain understanding of classes. Here we only introduce the noteworthy aspects of classes in php

----Creation of classes----

php uses the keyword class Create a class and use a pair of braces
such as:

class name{
  public $n="";
  private $u="";

  public function name() {
    $n="233";
    $u="23333";
  }

  public function rename($newn){
     $this->n=$newn;//this表示这个类
  }
}
Copy after login

without a semicolon at the end. Then $n, $u are fields; name() is a constructor (__construct() can also define a constructor, see below for details), which can assign values ​​to fields; rename() is a method.

----Field----

Compare
$obj=new name();
echo $obj->n;
with
$obj=new name();
echo $obj->u;

The former is executable, but the latter is not possible because private is declared before $u. This is similar to c++.

Code:

public static $nm ="2333333333333333" ;
Copy after login

Declares a static field for the function.
The variable can be accessed directly through the class name and ::

echo name::$nm;

This is also similar to c++.

In php, you can also access static fields in the class through self::+$+variable name. At this time, self is equivalent to $this->.

Methods are used similarly to fields


----Constructor----

Constructed in php5 and earlier versions The function has the same name as the class


In PHP5 and later versions, the magic word __construct() can define the constructor

The magic word __construct() can define the constructor

class name{
  public $n="";
  private $u="";

  public function __construct() {
    $n="233";
    $u="23333";
  }

  public function rename($newn){
     $this->n=$newn;
  }
}
Copy after login

The constructor can have parameters

__construct($name="",$sex="man",$age=0){}

When declaring an object

$obj= new name("I","man",28);

If no parameters are given, the default is the value after = .

For more PHP class and constructor analysis related articles, please pay attention to the PHP Chinese website!

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