Here's a handy little routine to suggest properties you're trying to set that don't exist. For example:
Attempted to __get() non-existant property/variable 'operator_id' in class 'User'.
checking for operator and suggesting the following:
    * id_operator
    * operator_name
    * operator_code
enjoy.
<?php
    public function suggest_alternative($property)
    {
        $parts = explode('_',$property);
        foreach($parts as $i => $p) if ($p == '_' || $p == 'id') unset($parts[$i]);
        echo 'checking for <b>'.implode(', ',$parts)."</b> and suggesting the following:<br/>\n";
        echo "<ul>";
        foreach($this as $key => $value)
            foreach($parts as $p)
                if (stripos($key, $p) !== false) print '<li>'.$key."</li>\n";
        echo "</ul>";
    }
just put it in your __get() or __set() like so:
    public function __get($property)
    {
            echo "<p><font color='#ff0000'>Attempted to __get() non-existant property/variable '".$property."' in class '".$this->get_class_name()."'.</font><p>\n";
            $this->suggest_alternative($property);
            exit;
    }
?>