Прошу прощения, если это кажется очевидным для более опытных пользователей PHP, однако, я считаю, что я пропустил важный блок в своем учебном путешествии. При использовании объектов, как мне теперь вызывать функцию через -> или называть ее с помощью ::. На данный момент я только использовал метод ->, но я нашел код, используя метод ::. Любое понимание или объяснение очень ценится!В PHP, когда я использую :: и когда я использую ->
ответ
http://php.net/manual/en/language.oop5.php
-> для объектов методов и свойств поэтому при создании объекта класса нужно использовать ->
$someObject = new someClass();
$someObject->someMethod();
:: для статических метода и свойства класс, что означает, что вам не нужно создавать объект для его использования:
someClass::someMethod()
Спасибо, что разобрался. Таким образом, в основном, когда вы ссылаетесь на объект, который является «статическим», вы используете «::» Однако, когда у вас есть объект, созданный в переменной, вы ссылаетесь на него с помощью ->. –
@OliverChalk no, вы ссылаетесь на члены класса с '::' – zerkms
Нет, такой вещи, как статический объект, нет. Есть класс. Вы можете напрямую вызвать класс вместо создания объекта из класса. someClass :: someMethod() - это статический метод вызова * someMethod * класса * someClass *. Вы не создаете объекты для вызова статических методов класса – nospor
Вы используете ::
при вызове метода или переменной статического или при вызове родительского класса (если текущий класс расширен).
Вы используете ->
, когда вы вызываете метод или переменную, которую должен быть создан экземпляр класса.
Посмотрите Классы и Предметы self and $this и Области переменной Static properties and variables.
- 1. KineticJS: Когда я использую toImage(), и когда я использую кеш()
- 2. когда я использую wordpress
- 3. Когда я использую removeFromSuperview?
- 4. Когда я использую super()?
- 5. Когда я использую xdata?
- 6. Когда я использую ссылки?
- 7. Когда я использую CFRelease?
- 8. Когда я использую ContentProvider
- 9. Когда я использую var?
- 10. Проблемы, когда я использую «fscanf» в php
- 11. Когда я использую #include <string>?
- 12. PHP, ошибка в классе, когда я использую $ this->
- 13. ошибки PHP, когда я использую Xdebug
- 14. Когда я использую постоянную PHP «PHP_EOL»?
- 15. Я продолжаю получать â, когда я использую €
- 16. неприятности, когда я использую самодельные
- 17. FileNotFound, когда я использую Image.FromFile()
- 18. Когда я использую std :: random_device?
- 19. Сроки, когда я использую прокси
- 20. Когда shoud я использую BaseActivity?
- 21. interlocked - когда я его использую?
- 22. python, когда я использую '__slots__'
- 23. Когда я использую свойство self?
- 24. NoSuchMethodError, когда я использую android.widget.RelativeLayout.setBackground
- 25. Когда я использую метод initWithCoder:?
- 26. importerror, когда я использую пафос
- 27. Когда я использую «&» внутри scanf()?
- 28. Когда я использую скобки, а когда нет?
- 29. Когда я использую List и когда я использую ArrayList, также LinkedList в Java?
- 30. Когда я использую Бокс и Unboxing?
Его статический охват. Вы можете получить дополнительную информацию по этим ссылкам. [php manual oop5 static] (http://php.net/manual/en/language.oop5.static.php) [область переменных переменных PHP] (http://php.net/manual/en/language .variables.scope.php) [устаревшие статические привязки php вручную] (http://php.net/manual/en/language.oop5.late-static-bindings.php) О, также, как и константы класса, вызывающие точки слишком. –
Спасибо, я обязательно прочитаю эти ссылки! –