Section 3.17. __toString() Method


3.17. __toString() Method

Consider the following code:

 class Person {     function __construct($name)     {         $this->name = $name;     }     private $name; } $obj = new Person("Andi Gutmans"); print $obj; 

It prints the following:
 Object id #1 

Unlike most other data types, printing the object's id will usually not be interesting to you. Also, objects often refer to data that should have print semanticsfor example, it might make sense that when you print an object of a class representing a person, the person's information would be printed out.

For this purpose, PHP enables you to implement a function called __toString(), which should return the string representation of the object, and when defined, the print command will call it and print the returned string.

By using __toString(), the previous example can be modified to its more useful form:

 class Person {     function __construct($name)     {         $this->name = $name;     }     function __toString()     {         return $this->name;     }     private $name; } $obj = new Person("Andi Gutmans"); print $obj; 

It prints the following:
 Andi Gutmans 

The __toString() method is currently only called by the print and echo language constructs. In the future, they will probably also be called by common string operations, such as string concatenation and explicit casting to string.



    PHP 5 Power Programming
    PHP 5 Power Programming
    ISBN: 013147149X
    EAN: 2147483647
    Year: 2003
    Pages: 240

    flylib.com © 2008-2017.
    If you may any questions please contact us: flylib@qtcs.net