Const关键词

   是面向对象当中类里面常量定义的方式。

   以Const 大写字母==值

   类当中的常量一旦定义与php当中的常量一样,一旦定义不能呗修改。

   注意:

    1.不要使用$this->常量名去调用

    2.也不是直接用常量名去调用

    3.在类的内部调用方式(两种)

        方式1.类名::常量名

        方式2 self::常量名

    4.在类的外部调用,不需要实例化对象,直接使用类名::常量名调用

  例:

 
  
  1. <?php 
  2.   class  ren{ 
  3.     
  4.       public $name
  5.  
  6.       //建议常量大写 为了更好的区分  变量跟常量 
  7.       const TYPE='地球人'
  8.  
  9.       function say(){ 
  10.             //类的内部调用常量 
  11.            echo  '我是'.self::TYPE.'<br>'
  12.       } 
  13.    
  14.   } 
  15.  
  16. //实例化对象 
  17. $pnew ren(); 
  18.  
  19. $p->say(); 
  20.  
  21. //类的外部调用常量 
  22. echo ren::TYPE; 
  23. ?> 

Static关键词:

    1.静态成员方法和成员属性效率特别高,如果结果准许尽可能写成静态成员方法或者成员属性。

    2.声明静态变量  以static关键词开始,后面加上变量。

    3.静态变量不要用$this->静态成员属性名去调用

    4.在类的内部调用静态成员两种方法,

        第一种:使用类名::静态成员属性名;来调用静态成员属性

        第二种:使用self::静态成员属性名

    5.使用类名::静态成员属性名前面要加$符,如果要改值,直接在后面使用=赋值运算符进行赋值。

    6.在类的外部访问不需要实例化,直接类名::静态成员属性去调用

    7.声明静态的成员方法,只需要在方法名前加上static关键词即可

    8.在类的外部调用静态成员方法 有两种;

              (1)类名::静态方法名

              (2)对象->静态方法名

   9.在静态的成员方法禁止使用$this关键词调用成员属性跟成员方法,在静态的成员方法禁止有$this关键词。

   10.在非静态成员方法内部使用$this->静态成员方法()去调用静态成员方法。

   11.在非静态成员方法内部在类的内部使用类名::静态成员方法名()去调用静态成员方法。

   12.在非静态成员方法内部self::静态成员方法名()去调用静态成员方法。

   13.在静态方法内部不能使用$this->成员属性或成员方法,但是可以使用局部变量或者型参,静态成员属性,常量等等。

   14.private protected,public和static关键词在一起使用的时候是累加效果。

  例:

 
  
  1. <?php 
  2.   class  st { 
  3.    
  4.       static $num =10; 
  5.      
  6.       function  hi(){ 
  7.            /*使用类名调用 
  8.             echo st::$num.'<br/>';*/ 
  9.  
  10.             
  11.           #使用self调用 
  12.           #echo self::$num
  13.  
  14.  
  15.           //直接赋值 
  16.         // self::$num=50; 
  17.         // echo self::$num; 
  18.        } 
  19.   } 
  20.  
  21.  $demo = new st; 
  22.  $demo -> hi(); 
  23.  
  24.  //在类的外部调用 
  25.   echo  st::$num
  26. ?>