在PHP中有两种不同的方法来访问方法,但有什么区别?
$response->setParameter('foo', 'bar');
Run Code Online (Sandbox Code Playgroud)
和
sfConfig::set('foo', 'bar');
Run Code Online (Sandbox Code Playgroud)
我假设->(用大于号或破坏号的破折号)用于变量的函数,而::(双冒号)用于类的函数.正确?
是=>赋值运算符仅用于一个阵列中分配的数据?这与=用于实例化或修改变量的赋值运算符形成对比吗?
我总是看到严肃项目中的人们使用::无处不在,而且 - >偶尔只在当地环境中使用.
我只使用 - >我自己,并且在我需要一个类之外的静态值的情况下永远不会结束.我是个坏人吗?
据我了解,唯一->不起作用的情况是我尝试以下时:
class StaticDemo {
private static $static
}
$staticDemo = new StaticDemo( );
$staticDemo->static; // wrong
$staticDemo::static; // right
Run Code Online (Sandbox Code Playgroud)
但是当我不通过简单的公共方法调用时,我是否错过了一些编程正确性::?
或者只是这样我可以在不创建实例的情况下调用方法?