Const关键词
是面向对象当中类里面常量定义的方式。
以Const 大写字母==值
类当中的常量一旦定义与php当中的常量一样,一旦定义不能呗修改。
注意:
1.不要使用$this->常量名去调用
2.也不是直接用常量名去调用
3.在类的内部调用方式(两种)
方式1.类名::常量名
方式2 self::常量名
4.在类的外部调用,不需要实例化对象,直接使用类名::常量名调用
例:
- <?php
- class ren{
- public $name;
- //建议常量大写 为了更好的区分 变量跟常量
- const TYPE='地球人';
- function say(){
- //类的内部调用常量
- echo '我是'.self::TYPE.'<br>';
- }
- }
- //实例化对象
- $p= new ren();
- $p->say();
- //类的外部调用常量
- echo ren::TYPE;
- ?>
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关键词在一起使用的时候是累加效果。
例:
- <?php
- class st {
- static $num =10;
- function hi(){
- /*使用类名调用
- echo st::$num.'<br/>';*/
- #使用self调用
- #echo self::$num;
- //直接赋值
- // self::$num=50;
- // echo self::$num;
- }
- }
- $demo = new st;
- $demo -> hi();
- //在类的外部调用
- echo st::$num;
- ?>
转载于:https://blog.51cto.com/0x007/1106505