Help In Object of class could not be converted to string

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Talat Maqsood

    #1

    Help In Object of class could not be converted to string

    Hello dears i am having this error

    can any one guide me?

    Code:
    <?php
    define('DIR_LANGUAGE', ' C:\wamp\www\mvc\mvc/');
    final class Language
     {
      	private $directory;
    	private $data = array();
    	//public function __construct($directory)
          //{
           // $this->directory = $directory;
    	//}
    	
    //  	public function get($key) {
      // 	return (isset($this->data[$key]) ? $this->data[$key] : $key);
      	//}
    	
    	public function load($filename) {
    		$_ = array();
    
                      $default = DIR_LANGUAGE . 'english/' . $filename . '.php';//Error on this line 19
    
    		if (file_exists($default)) {
    			require($default);
    		}
    
    		$file = DIR_LANGUAGE . $this->directory . '/' . $filename . '.php';
    
        	if (file_exists($file) && $file != $default) {
    	  		require($file);
    		}
    
    	  	$this->data = array_merge($this->data, $_);
    
    		return $this->data;
      	}
    }
    ?>
    Code:
    <?php
    $language=new Language();//Making Object Of above class:
     $language->load($language);//calling Function Load Of above class:
    ?>

    Error:
    Object of class Language could not be converted to string in C:\wamp\www\mvc \mvc\controller \common\languag e.php on line 19
    Last edited by Dormilich; Nov 11 '10, 07:42 AM. Reason: Please use [code] tags when posting code.
  • Atli
    Recognized Expert Expert
    • Nov 2006
    • 5062

    #2
    If you want to use an object as a string, for echo calls or string concatenation, you need to override the __toString magic function inside the class.

    See Magic Methods in the PHP manual. It explains all about it.

    Comment

    Working...