Ver Mensaje Individual
  #4 (permalink)  
Antiguo 05/06/2014, 08:07
Avatar de Eleazan
Eleazan
 
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Optimizar función: condicionales

Al final, he hecho algo así

Código PHP:
function getPageLine($page$title "") {
        return 
'<li '.($page == $this->_page 'class="active"' null ).'><a href="#" class="datatable_reload" data-source="'.$this->_source.'" data-id="'.$this->_id.'" data-search="'.$this->_search_query.'" data-page="'.($page).'">'.($title == "" $page $title).'</a></li>';
    }
    
    function 
getPages() {
        if(!
$this->_pagination_enabled) return "";
        if(
$this->_table_total_rows && $this->_table_total_rows $this->_limit) {
            
            
$total_paginas ceil($this->_table_total_rows $this->_limit);
            
            
$paginator '<ul class="pagination pull-right" style="margin: 0px;">';
            if(
$this->_page != 1$paginator .= $this->getPageLine(1"&laquo;");
            
            
$page_lines = array();
            for(
$i = ($this->_page 2); $i <= ($this->_page 2); $i++) {
                
$page $i $i 5-abs($i);
                if(
$page $total_paginas$page $i 5;
                
$page_lines[$page] = $this->getPageLine($page);
                            
            }
            
ksort($page_lines);
                
            foreach(
$page_lines as $line$paginator .= $line;
                
            if(
$this->_page != $total_paginas$paginator .= $this->getPageLine($total_paginas"&raquo;");
            
$paginator .= '</ul>';    
            
            return 
$paginator;
        }
        else return 
"";
        
        
    } 
Que creo que es más legible que el anterior.

Voy a darle un vistazo al Decorator :P
__________________
>> Eleazan's Source
>> @Eleazan

Última edición por Eleazan; 05/06/2014 a las 08:14