За последние 24 часа нас посетили 62979 программистов и 1747 роботов. Сейчас ищут 805 программистов ...

Нужна помощь тех, кто хорошо знает теорию PHP

Тема в разделе "PHP для новичков", создана пользователем ParenVkedah, 15 мар 2016.

  1. ParenVkedah

    ParenVkedah Новичок

    С нами с:
    30 янв 2016
    Сообщения:
    34
    Симпатии:
    0
    Уважаемые форумчане, проблема с пониманием документации приведу отрывки мне не понятного, Первый вопрос по теме Оператор проверки типа instanceof вот код не совсем могу понять почему такой вывод
    Код (PHP):
    1. <?php
    2. interface MyInterface
    3. {
    4. }
    5.  
    6. class MyClass implements MyInterface
    7. {
    8. }
    9.  
    10. $a = new MyClass;
    11. $b = new MyClass;
    12. $c = 'MyClass';
    13. $d = 'NotMyClass';
    14.  
    15. var_dump($a instanceof $b); // $b это объект класса MyClass
    16. var_dump($a instanceof $c); // $c это строка 'MyClass'
    17. var_dump($a instanceof $d); // $d это строка 'NotMyClass'
    18. ?>
    выводит
    Код (PHP):
    1. bool(true)
    2. bool(true)
    3. bool(false) 
    почему $a instanceof $b ведь как я понял instance of проверяет принадлежность объекта классу, а $b являтся объектом,почему так? дальше $a instanceof $c почему это true ведь в $c = 'MyClass'; строка с именем класса?

    Подсказка от модератора:
    Любой код или текст конфигурации пишите между тегом [code=php] и [/code].
    Используйте отступы в коде для форматирования текста.
    Это помогает быстрее понять вас, увеличивает шанс на получение ответа.
    Что выделять? Например: PHP, HTML, CSS, JavaScript, SQL, XML, .htaccess, ini, регулярные выражения, код шаблонизаторов, результаты array/object dump и т. д.
     
  2. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    То же свойство.
    это:
    Код (PHP):
    1. $b->bar();
    выведет $this определена (B)

    И все правильно, класс не static и как положено $this есть.
     
  3. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Там же в документации написано:

    Таким образом есть три сценария:
    1) Является ли $a экземпляром класса MyClass?
    2) Является ли $a экземпляром того же класса, что и $b?
    3) Является ли $a экземпляром класса с названием, прописанным в строке $c?