主要是通过代码来理解:
person.php:
<?php
/**
* Created by PhpStorm.
* User: weizhi
* Date: 2016/6/3
* Time: 16:49
*/
class pepole{
//var声明变量的属性相当于public
var $name;
private $age = 10;
static private $str = 'hello,world';
static public $str1 = 'hefei';
const address = 'address';//类常量 值不能被修改
//构造函数和java c++的原理是一样的
function __construct(){
echo 'construct';
}
public function getName(){
return $this->name;
}
public function setName($name){
$this->name = $name;
}
public function getAge(){
return $this->age;
}
//静态方法调用静态属性 静态方法无法调用非静态属性,因为非静态属性是属于实例对象的
//非静态方法是可以调用静态属性的
public static function print_str(){
//echo $this->name;是错的
echo self::$str;
}
//php是解释性语言 当一个文件解释完后再这个文件里面new的对象也被释放掉,就会调用析构函数
function __destruct(){
// TODO: Implement __destruct() method.
echo 'destruct';
}
}
调用的地方:
<?php
/**
* Created by PhpStorm.
* User: weizhi
* Date: 2016/6/3
* Time: 16:52
*/
include 'person.php';
$p= new pepole();
$p->setName('weizhi');
echo $p->getName();
echo $p->getAge();
//调用静态方法
pepole::print_str();
//使用类常量
echo pepole::address . "<br>";
//调用静态属性
echo pepole::$str1 . "<br>";
这里,我们就创建一个People的类,在这里有四个要点说明一下:
第一个是在PHP中,访问属性(或者方法)不是用我们所常用的点运算符(.),而是用->。
第二个是在PHP中,方法需要用function在标识,这点于Javascript很类似。
第三点是当我们声明一个变量时,需要用var,这点也与Javascript非常类似。
第四点是在PHP中,也有着public ,protected,private三个与C#同样的访问修饰符,不再赘述。