PHP: 基本概念

PHP: 基本概念

new

要创建一个类的实例,必须使用 new

关键字。当创建新对象时该对象总是被赋值,除非该对象定义了 构造函数 并且在出错时抛出了一个 异常。类应在被实例化之前定义(某些情况下则必须这样)。

如果一个变量包含一个类名的 string 和 new 时,将创建该类的一个新实例。

如果该类属于一个命名空间,则必须使用其完整名称。

注意:

如果没有参数要传递给类的构造函数,类名后的括号则可以省略掉。

示例 #3 创建实例

PHP 8.0.0 起,支持任意表达式中使用 new。如果表达式生成一个

string,这将允许更复杂的实例化。表达式必须使用括号括起来。

示例 #4 使用任意表达式创建实例

在下列示例中,我们展示了多个生成类名的任意有效表达式的示例。展示了函数调用,string 连接和 ::class 常量。

以上示例在 PHP 8 中的输出:

object(ClassA)#1 (0) {

}

object(ClassB)#1 (0) {

}

object(ClassC)#1 (0) {

}

object(ClassD)#1 (0) {

}

在类定义内部,可以用 new self 和 new parent 创建新对象。

当把一个对象已经创建的实例赋给一个新变量时,新变量会访问同一个实例,就和用该对象赋值一样。此行为和给函数传递入实例时一样。可以用

克隆 给一个已创建的对象建立一个新实例。

示例 #5 对象赋值

var = '$assigned will have this value';$instance = null; // $instance 和 $reference 变为 nullvar_dump($instance);var_dump($reference);var_dump($assigned);?>

以上示例会输出:

NULL

NULL

object(SimpleClass)#1 (1) {

["var"]=>

string(30) "$assigned will have this value"

}

有几种方法可以创建一个对象的实例。

示例 #6 创建新对象

以上示例会输出:

bool(true)

bool(true)

bool(true)

可以通过一个表达式来访问新创建对象的成员:

示例 #7 访问新创建对象的成员

format('Y'), PHP_EOL;// 从 PHP 8.4.0 起,周围的括号是可选的echo new DateTime()->format('Y'), PHP_EOL;?>

以上示例的输出类似于:

2025

2025

注意:

在 PHP 7.1 之前,如果类没有定义构造函数,则不对参数进行执行。

相关数据

铍铜是什么以及它与黄铜和青铜区别
bat365在线平台用户官网

铍铜是什么以及它与黄铜和青铜区别

⌛ 07-10 👁️‍🗨️ 2907
标题雾城
365bet世界

标题雾城

⌛ 11-15 👁️‍🗨️ 6564
铍铜是什么以及它与黄铜和青铜区别
bat365在线平台用户官网

铍铜是什么以及它与黄铜和青铜区别

⌛ 07-10 👁️‍🗨️ 2907
电瓶车电瓶电压多少算正常
365bet世界

电瓶车电瓶电压多少算正常

⌛ 12-31 👁️‍🗨️ 7023
王者荣耀:辅助位最受欢迎的传说皮肤!看看有你喜欢的吗?
bat365在线平台用户官网

王者荣耀:辅助位最受欢迎的传说皮肤!看看有你喜欢的吗?

⌛ 09-24 👁️‍🗨️ 3903
交管12123老是系统繁忙,交管12123登录异常怎么办
365bet世界

交管12123老是系统繁忙,交管12123登录异常怎么办

⌛ 07-04 👁️‍🗨️ 8219