I have a few questions about using the __get method.

1. Is it a good idea to get library class using the magic methods?
2. Do other frameworks use this method?
3. Is it good OOP practise?

Example:

PHP Code:
<?php
class Controller {
    var 
$data = array();
    var 
$locator;
    
    function 
__construct(&$locator) {
        
$this->locator =& $locator;
    }
        
    function 
forward($class$method) {
        
$action = array(
            
'class'  => $class,
            
'method' => $method
        
);
        
        return 
$action;
      }
    
    function 
__get($key) {
        return 
$this->locator->get($key);
    }
    
    function 
__set($key, &$value) {
        
$this->$key =& $value;
    }
    
    function 
__call($function$args) {
        exit();
    }
}
?>