• 技术文章 >后端开发 >PHP问题

    php可以私有静态方法吗

    青灯夜游青灯夜游2021-06-02 18:52:19原创92

    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中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:php 私有静态方法
    上一篇:php变量赋值的方法有哪些 下一篇:php怎么使用foreach遍历数组
    第16期线上培训班

    相关文章推荐

    • 如何一天快速了解PHP运算符(详细介绍)• php怎么比较字符串(不区分大小写)• php数组替换函数有哪些• 手把手教你玩转PHP函数用法(精选)• php小数怎么转为整数• php和java语法上的区别是什么

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网