В боковой панели руководства по php-сети, текст ссылки, метод addChild использует оператор разрешающей способности ::
scope, но в примере он использует оператор Arrow. Может ли кто-нибудь сказать мне, почему это так?
::
– для статических элементов, а ->
– это, например, элементы.
Например:
class Example { public static function hello(){ echo 'hello'; } public function world(){ echo 'world'; } } // Static method, can be called from the class name Example::hello(); // Instance method, can only be called from an instance of the class $obj = new Example(); $obj->world();
Подробнее о статической концепции
Это всего лишь обозначение того факта, что его метод объекта и не имеет никакого отношения к фактическому использованию.
В случае документации вы не имеете дело с экземпляром объекта типа $object
поэтому оператор ->
не будет правильным, так как вы хотите перечислить фактическое имя класса. Поэтому, следуя использованию для статического метода, когда имя класса статично, вы используете область res. оператор ::
…
Как правило, документация php работает для классов.
Стрелка означает, что addChild вызывается как член объекта (в данном случае $ sxe).
Двойной двоеточие означает, что addChild является членом класса SimpleXMLElement.