public function __call($name, $arguments) { $var = PagarMe_Util::fromCamelCase(substr($name,3)); if(!strncasecmp($name, 'get', 3)) { return $this->$var; } else if(!strncasecmp($name, 'set',3)) { $this->$var = $arguments[0]; } else { throw new Exception('Metodo inexistente '.$name); } }
public function testCamelCase() { $str = 'getPhones'; $str2 = 'getBoletoUrl'; $str3 = 'BoletoUrl'; $str4 = 'Phone'; $this->assertEqual(PagarMe_Util::fromCamelCase($str), 'get_phones'); $this->assertEqual(PagarMe_Util::fromCamelCase($str2), 'get_boleto_url'); $this->assertEqual(PagarMe_Util::fromCamelCase($str3), 'boleto_url'); $this->assertEqual(PagarMe_Util::fromCamelCase($str4), 'phone'); }