ERLEDIGT
NEIN
NEIN
ANTWORTEN
0
0
ZUGRIFFE
414
414
EMPFEHLEN
-
29.11.11 19:17 #1Ch Tutorials.de Gastzugang
Hallo,
ich habe mir mal eine Wrapper Funktion für die Codeigniter Database Klasse gebaut. Die funktioniert auch und wird per autoload als Standard Model geladen. Sinn war es den Code schmal zu halten und eine Funktion mit Nachhaltigkeit zu programmieren.
Meine Frage ist, habe ich da jetzt noch was vergessen oder kann man was verbessern? Es wurde bewußt auf MYSQL Funktionen verzichtet.
EXAMPLE usage:PHP-Code:public function get($prefix, $table = NULL, $where = NULL, $select_fields = NULL, $arguments = NULL, $return_type = 'row')
{
if( !empty($prefix) )
{
$table = $prefix.'_'.$table;
}
if( empty($table ) ) return FALSE ;
if( is_array( $where ) ) { $this->db->where($where) ;}
if( is_array($arguments) )
{
if( array_key_exists('limit', $arguments) && array_key_exists('offset', $arguments) )
{
$this->db->limit( $arguments['limit'], $arguments['offset'] );
}
else if( array_key_exists('limit', $arguments) && ! array_key_exists('offset', $arguments) )
{
$this->db->limit( $arguments['limit'] );
}
if( array_key_exists('order_by', $arguments) && array_key_exists('order', $arguments) )
{
$this->db->order_by( $arguments['order_by'], $arguments['order'] );
}
if( array_key_exists('group_by', $arguments))
{
$this->db->group_by( $arguments['group_by'] );
}
if( array_key_exists('join_arr', $arguments) && is_array($arguments['join_arr']) )
{
foreach($arguments['join_arr'] as $join_table => $fields)
{
$join_meta = explode('|', $fields);
$join_type = ( array_key_exists(3, $join_meta) ) ? $join_meta[3] : 'LEFT' ;
$this->db->join($join_table, $join_meta[0].'.'.$join_meta[1].'='.$join_table.'.'.$join_meta[2], $join_type );
}
}
}
if( $select_fields != NULL && is_array($select_fields) )
{
$fields = array();
foreach($select_fields as $fieldname)
{
$fields[] = $fieldname;
}
$this->db->select( implode(', ', $fields) );
}
$query = $this->db->get($table);
if($query->num_rows() > 0)
{
switch( $return_type )
{
case 'row':
return $query->row();
break;
case 'row_array':
return $query->row_array();
break;
case 'result':
return $query->result();
break;
case 'result_array':
return $query->result_array();
break;
default:
return $query->row();
break;
}
}
else
{
return FALSE;
}
}
PHP-Code:$arguments = array( 'join_arr' => array('table1'=>'table2|table1_id|table2_id') );
$select_fields = array('field1', 'field2');
$where = array('table1.field3' => $was_auch_immer );
return $this->my_model->get($prefix, $table, $where, $select_fields, $arguments );
Geändert von Ch (10.01.12 um 18:43 Uhr)
Ähnliche Themen
-
CakePHP vs. CodeIgniter
Von Daaguru im Forum PHPAntworten: 1Letzter Beitrag: 11.08.11, 10:57 -
Codeigniter Tutorials in Deutsch
Von =fire= im Forum PHPAntworten: 0Letzter Beitrag: 28.01.09, 15:23 -
Kennt sich jemand mit Codeigniter aus?
Von MsvP@habdichliebhasi im Forum PHPAntworten: 2Letzter Beitrag: 07.08.08, 11:38 -
COM-dll Wrapper
Von meisteryoda im Forum JavaAntworten: 1Letzter Beitrag: 17.05.08, 11:19 -
PHP: Function führt function aus, wenn Bedingung erfüllt ist
Von Der_baum im Forum PHPAntworten: 4Letzter Beitrag: 14.11.07, 07:54





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren