首页 >后端开发 >PHP问题 > 正文

php可以私有静态方法吗

原创2021-06-02 18:52:190846

php可以私有静态方法。静态私有方法提供了一种从类外部隐藏静态代码的方法;如果几种不同的方法(静态或非静态)需要使用它,即代码重用,这可能是有用的。

本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑

我明白静态意味着一个对象不需要被实例化为该属性/方法可用。我也明白,这适用于私有财产和方法以及公共方法。我想知道的是什么是静态私有功能可以让你获益。例如:

class Beer {
    static private $beertype = "IPA";
    private function getBeerType() {
            return self::$beertype;
    }
    static public function BeerInfo() {
            return self::getBeerType();
    }
}
print Beer::BeerInfo() . "\n";

只要从静态公共方法中调用getBeerType(),私有方法就会执行得很好,没有实例化的对象。如果静态公共方法可以访问所有私有方法(静态和非静态),那么声明方法static private的好处是什么?

在严格的错误报告打开的情况下,我确实得到了我应该使getBeerType()静态的警告,尽管它仍然允许我运行代码。我做了一些研究,似乎其他语言(Java)将强制您在静态公共方法调用时将私有方法声明为静态方法。看起来像PHP让你摆脱这一点。有没有办法强制它抛出错误而不执行?

静态私有方法提供了一种从类外部隐藏静态代码的方法。如果几种不同的方法(静态或非静态)需要使用它,即代码重用,这可能是有用的。

静态方法和静态变量(有时称为类方法和类变量)是将代码和数据放入一种命名空间的一种方式。您也可以将类变量视为附加到类本身的变量,其中(根据定义)只有一个,而不是该类的实例,其中可能有零个,一个或多个。类方法和类变量可用于处理不仅在所有实例中保持相同但与实际相同的属性。

类变量的一个示例是ORM实体对象中的数据库处理程序。所有实例都是自己的对象,但是他们都需要访问相同的数据库处理程序来加载和保存自身。

私人与公众是一个完全独立的品质,我怀疑你在绊倒什么。私有方法不能被调用,私有变量不能从类之外的代码访问。私有方法通常用于在对象外部不能访问的对象上实现“内部”逻辑。这种限制可以通过实例方法和类方法来实现。

私有类方法的示例可以是工厂方法。可能有三个工厂调用来创建可能在提供的参数方面不同的对象。但大部分操作是一样的。所以它进入非私有工厂方法调用的私有静态方法。

推荐学习:《PHP视频教程

以上就是php可以私有静态方法吗的详细内容,更多请关注php中文网其它相关文章!

php中文网直播班

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

  • 相关标签:php 私有静态方法
  • 相关文章

    相关视频


    网友评论

    文明上网理性发言,请遵守 新闻评论服务协议

    我要评论
  • 专题推荐

    推荐视频教程
  • PHP开发基础之语法篇PHP开发基础之语法篇
  • PHP开发基础之字符串篇PHP开发基础之字符串篇
  • PHP开发基础之数据库篇(PDO)PHP开发基础之数据库篇(PDO)
  • php8,我来也php8,我来也
  • 细说PHP(2021版)第一季细说PHP(2021版)第一季
  • 视频教程分类