php 基本知识

php 基本知识

-> 表示调用class 中的属性
:: 表示调用class 中的方法

example:

$xx->yy  对象 xx 的 yy 属性
$xx->zz() 对象 xx 的 zz 方法


class name (){
    //定义一个属性 值为字符串 vayne
    public $name = "vayne";
    //定义一个方法 answer()
    public function question(){
        echo "my name is :" $name;
    }
}
//实例化 一个类;
$obj = new name();
//调用类中的属性name
echo $obj ->name;//输出vayne;
//调用类中的方法并传入一个参数
$obj ->answer('姚曦');

    <?php

// 费了我好大功夫, 把这些都总结到一个例子里面了
// PHP5.3 PHP5.4 PHP5.5 测试通过

class A
{
    //类常量
    const constValue = "constValue\n";

    //类属性
    public $property = "properties\n";

    //静态属性
    static public $staticProperty = "staticProperty\n";

    //普通函数
    public function func()
    {

    }

    //静态函数
    static public function staticFunc()
    {

    }
}

$xxoo = new A;
//访问实例的属性
print $xxoo->property;
//访问实例的函数
print $xxoo->func();

//也可以借助实例来访问静态成员
//访问函数要用箭头,属性要用双冒号
print $xxoo->staticFunc();
print $xxoo::$staticProperty;

//如果不借助实例,那就直接用类名加双冒号
print A::staticFunc();
print A::constValue;
//静态属性要加美元符号
print A::$staticProperty;



//继承类A
class B extends A
{
    //覆盖父类的属性
    public $property = "covered-properties\n";

    //覆盖父类的静态属性
    static public $staitcProperty = "covered-staitcProperties\n";

    //覆盖父类的函数
    public function func()
    {
        //访问自己的属性
        print $this->property;
        //访问从父类继承来的静态属性
        print self::$staticProperty;

        //访问自己的(静态)函数
        print $this->staticFunc();
        //强制指定访问父类(而不是自己)的函数
        print parent::func();
    }

    //覆盖父类的静态函数
    static public function staticFunc()
    {
        //因为没有$this, 所以用self访问自己的静态属性
        print self::$staitcProperty;
    }
}

//运行一下上面的例子
$xxoo = new B;
$xxoo->func();
B::staticFunc();