哪个是更好的foo :: bar()VS $ foo :: bar()?

纳比·卡兹(Nabi KAZ)

对这个:

class foo {
    public static function bar() {
        echo 'hi';
    }
}

两者之间有什么区别:

foo::bar();

和这个:

$obj = new foo();
$obj::bar();

还是没有区别?既是正确的又是原则?哪个更好?

马特乌斯·沃尼亚克(MateuszWoźniak)

我相信它们之间没有区别,但是根据我的经验,最常用的形式是Foo::bar()

您可以在此处找到一些示例

有一个静态方法示例及其用法:

<?php

  class Foo {
     public static function aStaticMethod() {
      // ...
     }
  }

  Foo::aStaticMethod();
  $classname = 'Foo';
  $classname::aStaticMethod(); // As of PHP 5.3.0

?>

之后,您可以找到具有访问属性的示例:

print Foo::$my_static . "\n";

$foo = new Foo();
print $foo::$my_static . "\n";

这意味着这两种方法都是正确的。使用什么取决于您。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

isinstance(foo,bar)vs type(foo)是bar

来自分类Dev

为什么foo = bar与foo = bar不同?

来自分类Dev

foo(bar)和foo(bar,baz)

来自分类Dev

foo,bar,baz等的含义

来自分类Dev

javascript getElementsByClassName(“ foo” ||“ bar”)

来自分类Dev

在bar :: foo`的内部使用`foo`吗?

来自分类Dev

Javascript foo = foo.bar = foobar

来自分类Dev

JS封装问题:“ this.foo = new function(){...};” vs“ this.Bar = function(){..}; this.foo = new Bar();”

来自分类Dev

JS封装问题:“ this.foo = new function(){...};” vs“ this.Bar = function(){..}; this.foo = new Bar();”

来自分类Dev

$ foo [bar]和$ foo ['bar']在php中的区别

来自分类Dev

js中的“ foo.bar”和“ foo ['bar']”之间的区别

来自分类Dev

别名foo bar和foo = bar之间的区别

来自分类Dev

jQuery如何选择<foo.bar> </ foo.bar>节点

来自分类Dev

bash中的“ foo && bar || baz”与“ if foo; then bar; else baz”不同

来自分类Dev

Makefile规则“ foo:bar:baz”

来自分类Dev

使用 moduleFor('foo:bar', 'unit@foo:bar') 搜索并替换 moduleFor('foo:bar')

来自分类Dev

Javascript性能:多个fooBaz VS多个Foo.Bar.Baz

来自分类Dev

为什么使用Foo [T <:Bar]要求Foo [_ <:Bar]而不是Foo [_]

来自分类Dev

python中装饰器中的foo=bar(foo)和something=bar(foo)有什么区别?

来自分类Dev

git分支“ foo”和“ foo / bar”不起作用吗?

来自分类Dev

can.routing:触发从#!/ foo / bar到#!/ foo的更改

来自分类Dev

`env foo=bar echo $foo` 不打印任何内容

来自分类Dev

如何返回给定字符串的所有组合?(例如,“ foo bar” = bar,bar_foo,foo)

来自分类Dev

“ Foobar”或“ foo”或“ bar”是什么意思?

来自分类Dev

Elixir中的“%w(foo,bar)”构造

来自分类Dev

提交bar时如何使窗口foo刷新

来自分类Dev

将对象移至foo(Bar &&)函数

来自分类Dev

JS-@在导入'@ foo / bar'中的含义

来自分类Dev

bash中if [“ $ foo” ==“ bar”]的语法错误

Related 相关文章

  1. 1

    isinstance(foo,bar)vs type(foo)是bar

  2. 2

    为什么foo = bar与foo = bar不同?

  3. 3

    foo(bar)和foo(bar,baz)

  4. 4

    foo,bar,baz等的含义

  5. 5

    javascript getElementsByClassName(“ foo” ||“ bar”)

  6. 6

    在bar :: foo`的内部使用`foo`吗?

  7. 7

    Javascript foo = foo.bar = foobar

  8. 8

    JS封装问题:“ this.foo = new function(){...};” vs“ this.Bar = function(){..}; this.foo = new Bar();”

  9. 9

    JS封装问题:“ this.foo = new function(){...};” vs“ this.Bar = function(){..}; this.foo = new Bar();”

  10. 10

    $ foo [bar]和$ foo ['bar']在php中的区别

  11. 11

    js中的“ foo.bar”和“ foo ['bar']”之间的区别

  12. 12

    别名foo bar和foo = bar之间的区别

  13. 13

    jQuery如何选择<foo.bar> </ foo.bar>节点

  14. 14

    bash中的“ foo && bar || baz”与“ if foo; then bar; else baz”不同

  15. 15

    Makefile规则“ foo:bar:baz”

  16. 16

    使用 moduleFor('foo:bar', 'unit@foo:bar') 搜索并替换 moduleFor('foo:bar')

  17. 17

    Javascript性能:多个fooBaz VS多个Foo.Bar.Baz

  18. 18

    为什么使用Foo [T <:Bar]要求Foo [_ <:Bar]而不是Foo [_]

  19. 19

    python中装饰器中的foo=bar(foo)和something=bar(foo)有什么区别?

  20. 20

    git分支“ foo”和“ foo / bar”不起作用吗?

  21. 21

    can.routing:触发从#!/ foo / bar到#!/ foo的更改

  22. 22

    `env foo=bar echo $foo` 不打印任何内容

  23. 23

    如何返回给定字符串的所有组合?(例如,“ foo bar” = bar,bar_foo,foo)

  24. 24

    “ Foobar”或“ foo”或“ bar”是什么意思?

  25. 25

    Elixir中的“%w(foo,bar)”构造

  26. 26

    提交bar时如何使窗口foo刷新

  27. 27

    将对象移至foo(Bar &&)函数

  28. 28

    JS-@在导入'@ foo / bar'中的含义

  29. 29

    bash中if [“ $ foo” ==“ bar”]的语法错误

热门标签

归档