Avatar ·

在 PHP 中实现多个构造函数的最佳方式

大家好!我是 PHP 新手,遇到了一个问题。在其他语言中,比如 Java 或 C++,我可以声明多个具有不同参数的构造函数,编译器会根据我传递的内容自动选择所需的构造函数。例如: ```java class User { String name; int age; User(String name) { this.name = name; } User(String name, int age) { this.name = name; this.age = age; } } ``` 但在 PHP 中,我不能编写两个同名为 __construct 的构造函数——会出现错误“Cannot redeclare”。该怎么办?我需要在不同的场景中创建 User 类的对象:有时只有名字,有时有名字和年龄,有时根本没有参数(使用默认值)。 我尝试过使用默认参数,但如果我有 5 种不同的对象创建方式(例如,通过数据数组、通过数据库中的 ID、通过 JSON 字符串),那就会变成噩梦。请告诉我如何正确组织。