php创建对象。真!变!态!
PHP创建类的方式,真是够变态,以下是创建方式:
假设类:
class SomeClass {//....}
创建对象:
1、直接通过类名实例化
$obj1 = new SomeClass();
这种方式,是多数面向对象编程语言中实例化的一种方式,这个不变态。
2、通过对象名来实例化
$obj1 = new SomeClass();//这样是通过方式1实例化了一个对象
$obj2 = new obj1();//变态的方式,本质是通过对象找到类而后进行的实例化
3、通过可变类实例化,所谓可变类,其实就是类的名字是通过变量来存储。(可以对比下可变变量等:php中的可变变量、可变函数、匿名函数)
$c = "SomeClass";
$obj1 = new $c();//可变类
4、在类内部,通过self来实例化
$obj1 = new self();//只能用于类内部