За последние 24 часа нас посетили 15686 программистов и 1649 роботов. Сейчас ищут 828 программистов ...

echo объект - выводит текст свойства объекта

Тема в разделе "PHP для новичков", создана пользователем VLK, 20 май 2015.

  1. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    Когда то очень давно столкнулся с такой проблемой, парсил XML файл, кажется при помощи simple XML, и полученные результат, выводил примерно как то так:
    Код (PHP):
    1. echo $result; 
    Все выводилось, все было хорошо, но когда я пытался работать с этим $result как со строкой, т.е. допустим методом strpos то мне выдавало ошибку, тогда мне подсказал многоуважаемый [​IMG] что это не строка, а объект, но при этом как то выводилось содержимое одного из свойств. Мне надо сейчас сделать что то подобное.

    Короче мне надо сделать такую штуку, есть класс допустим:

    Код (PHP):
    1. class cls
    2. {
    3.     public $a;
    4. }
    5.  
    6. $obj = new cls();
    7. $obj->a = 'hello';
    8. echo $obj; // будет напечатано 'hello'   
    как сделать? возможно ли такое? если нет, то почему simple XML делал такое или я что то путаю?

    Добавлено спустя 9 минут 20 секунд:
    порылся, нашел такой метод:
    __toString
     
  2. Fell-x27

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

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

    Код (PHP):
    1. class cls
    2. {
    3.     public $a;
    4.  
    5.   public function __toString()
    6.    {
    7.      return $this->a;
    8.    }
    9. }
    10.  
    11. $obj = new cls();
    12. $obj->a = 'hello';
    13. echo $obj; // будет напечатано 'hello' 
    14.  
     
  3. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    пошарил, нашел вот такие 2 замечательных метода __invoke и __toString, вообще крутяк.

    Добавлено спустя 26 секунд:
    только вот единственно я не помню почему же оно мне тогда ошибку выдавало, ну да ладно :)
     
  4. Fell-x27

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

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Не благодари.