php学习十三:其他关键字

时间:2023-03-09 12:59:44
php学习十三:其他关键字

在php中,其实不止在php中,在其他语言中我们也会常常接触到一些关键字,整理了一下php当中的一下关键字,可能有些不全,希望大家指出来,多多交流,一起进步。

1.final

特性:1.使用final关键字标记的类不能被继承;2.被final关键字标记的方法不能被子类重写,是最终版本
目的:一是为了安全,二是没有必要
final class Final1
{
public $name;
final function say(){
echo "无法调用这个方法以及这个类";
} }

  

2.const(成员常量):定义一些固定不变的值

命名规则,是一个公共的,所以用关键字const,后面不能加$
用self来调用这个常量,但是不能更改
class Const1
{
const base=100;
function show(){
self::base; //base永远是100
}
}

  

3.instanceof用于检测当前的实例是否属于某一个类的类型

代码:下面的One类为父类,Two为子类,继承了父类

$one = new One();
$two = new Two();
echo $one instanceof One; echo $one instanceof Two; echo $two instanceof One;

  

4.static静态方法

属于类的方法和属性,需要用类去调用,全局都可以调用,不用去实例化对象

class Static1
{
static $name = "fangming";
public function show(){
echo self::$name; //self关键字相当于本类,不能用this
}
}
echo Static1::$name;

  

5.特别补充:获取实例对象

有时候一个类里面的属性都是私有的,初始化的__construct函数都是私有的,这个时候就需要用到静态方法来获取实例了,具体代码如下

class Singleton
{
static $instance=null; private function __construct()
{
} //获取单例对象
public static function getInstance(){ if(is_null(self::$instance)){
self::$instance=new Singleton ();
} return self::$instance;
}
}
Singleton::getInstance();