繁体   English   中英

PHP中具有静态属性和方法的OOP编程示例

[英]Examples of OOP programming with static properties and methods in PHP

我目前是PHP OOP编程的初学者,想知道是否有人可以提供一个示例,说明如何在实际的Web应用程序中使用静态属性和方法。

正如评论中指出的那样,尽管静态方法可能会遇到问题,但它们确实有一些用途。

我发现非常有用的一个就是“命名构造函数”。

通常,一个类将只有一个构造函数。 但是,如果可以用几种不同的方式初始化该类怎么办?

例如,也许您的应用程序支持使用电子邮件地址或Facebook用户ID创建用户...

class User {
    public function __construct($emailOrFbUserId) { } 
}

正如您在上面看到的,使用类时,构造函数中的参数可能会有些混乱。

相反,通过这样编写它...

class User {
    private function __construct() { }

    public static function fromEmailAddress($email) {
        $user = new User();

        //assuming there's a private field called email
        $user->email = $email;
        return $user
    }

    public static function fromFacebookUserId($id) {
        ...
    }
}

//usage example
$user = User::fromEmailAddress('foo@bar.com');

...这突然变得更加有意义。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM