周六被一位大佬带着整理了一下PHP相关知识,下面这段代码主要体现了PHP类,以及类的普通成员、静态成员,类方法以及静态方法,以及对象对类成员的各种调用情况,在此一个笔记,待时间空闲,再做详细整理!

<?php 
class Person{
//定义成员变量
var $name;
var $gender;
static $type;
// 静态方法(即可以通过对象调用也可以同过类调用)
static function test(){
echo "类方法<br>";
//静态方法不能访问非静态成员,也不能使用this关键字
// 可以访问静态成员
echo Person::$type;
}
//定义成员方法(实例方法,只能通过对象调用)
function sayHi(){
echo "I'am ". $this->name ."<br>";
}
}
//实例化类(创建一个对象)
$p1 = new Person();
//为成员变量赋值
$p1 -> name = "aa";
$p1 -> gender = "男";
//调用成员方法
$p1->sayHi();
//类调用静态成员
Person::$type='123456<br>';
//类调用静态方法
Person::test();
//对象调用静态方法
$p1->test();
echo Person::$type;
//对象调用静态成员
echo $p1::$type;

//对象调用静态方法,应为静态方法为公用,所以结果一样
$p2 = new Person();
echo "p2:" . $p2->name ."<br>";
echo "p1:" . $p1->name ."<br>";
echo "<br>p2调用静态方法:";
$p2->test();
echo "<br>p1调用静态方法:";
$p1->test();
echo "========================================";
class Person1{
var $name;
var $gender;
//构造函数(用于对象的初始化)
function __construct($name1,$gender1){
$this->name=$name1;
$this->gender=$gender1;
}
function __destruct(){
echo "析构函数,主要对象销毁之前调用,如果断开数据库连接";
}
}
$p3 = new Person1('admin','男');
echo $p3->name . "<br>" . $p3->gender;
?>