function __call($name, $params) {
$names = explode('_',$name);
$cnt = count($names);
if( $cnt >= 2 ) {
if( $names[0] == 'find' ) {
if( $names[1] == 'all' ) return $this->find( 'all', $params );
if( $names[1] == 'first' ) return $this->find( 'first', $params );
if( $names[1] == 'count' ) return $this->find( 'count', $params );
if( $names[1] == 'list' ) return $this->find( 'list', $params );
if( $names[1] == 'threaded' ) return $this->find( 'threaded', $params );
if( $names[1] == 'neighbors' ) return $this->find( 'neighbors', $params );
}
}
throw new Exception('Unknown method for Model::' . $name);
}
これで、
Model->find( 'first', ... );
// が
Model->find_first( ... );
で動くようになる…。発展させていけば、結構面白い事ができそう。
2010/03/06 追記:findBy メソッドあるじゃん orz...
0 件のコメント:
コメントを投稿