Malcolm Beck´s: Weiterblättern-Menu „quasi“ Fertig

Beitrag lesen

hi,

Sorry, aber ich muss einfach nochmal nachhaken, da mir das, was ich in der Klasse treibe, zu haarsträubend ist; inneinander verschachtelte str_replace und direkter zugriff auf $this-Variablen, statt die Variablen für die Funktionen mittels Parameter zu übergeben.
Es funktioniert Tadellos, nur ist das noch Sauber und soll ich auf diese Weise weitermachen?
Das Bsp. ist ohne Fehlerbehandlung, da ich es erst einmal anteste und es derzeit keine Fehler gibt.

<?php  
  error_reporting(E_ALL | E_STRICT);  
  header('Content-Type: text/html; charset=utf-8');  
  $_sDir = dirname(__FILE__) . '/';  
  $_msg = simplexml_load_file($_sDir . '[link:http://dj-tut.de/z_test/class/script-inc/i18n.xml@title=script-inc/i18n.xml]'); // auf das wesentliche gekürzt  
  
  $setting               = array();                       // Settings initialisieren  
  $setting['prefix']     = 'page';                        // GET-Präfix  
  $setting['perpage']    = 15;                            // Dateien pro Seite  
  $setting['total_data'] = 452;                           // Daten gesamt  
  $setting['language']   = 'de';                          // Sprache  
  $setting['msg']        = $_msg->$setting['language'];   // XML mit passender Sprachsektion  
  $setting['getsite']    = get_numeric($setting['prefix']) ? $_GET[$setting['prefix']] : 1 ; // $_GET['page']  
  
class Pagination_builder  
{  
  public function __construct($param) {  
    $this->msg         = $param['msg']->pagination;  // XML-Datei, direkt auf die gewünschte Sektion  
    $this->total_data  = $param['total_data'];  
    $this->perpage     = $param['perpage'];  
    $this->getsite     = $param['getsite'];  
    $this->total_pages = $this->calculate_pages();  
    $this->pagefromto  = $this->head_data();  
  }  
  /* Gesamte Seitenanzahl berechnen  
   * @param: Dateien gesamt  
   * @param: Dateien pro Seite  
  */  
  private function calculate_pages() {  
    return ceil($this->total_data / $this->perpage);  
  }  
  /* Ersetzt in den Strings aus der XML-Datei die Platzhalter  
   * [b]  mit <strong>  
   * [/b] mit </strong>  
  */  
  private function temp_replace($str) {  
    return str_replace('[/b]', "</strong>", str_replace('[b]', "<strong>", $str));  
  }  
  /* Der erste Block in Head-Data  (in diesem Fall: Seite X von Y)  
   * Ab hier wird es Wild  
   * Erst wird die Funktion temp_replace aufgerufen, in dieser ersetze ich einen String  
   * aus der XML-Datei mit den Werten $_GET['page'],  
   * aber nur, wenn $_GET kleiner ist als die Gesamte Seitenanzahl  
  */  
  private function head_data() {  
    return $this->temp_replace( sprintf($this->msg->pagefromto /* String aus der XML-File*/  
                                ,$this->getsite < $this->total_pages+1 && $this->getsite > 0  
                                  ? $this->getsite  /* $_GET ist kleiner als Gesamte Seitenanzahl */  
                                  : 1  
                                , $this->total_pages));  
  }  
}  
  
/*  
 * Objekt erzeugen und anschliessend aufrufen  
*/  
$_pagination = new Pagination_builder($setting);  
echo $_pagination->pagefromto;                 // Ausgabe bei [link:http://dj-tut.de/z_test/class/?page=2@title=($_GET['page'\]==2)]: Seite 2 von 31  
  
/*  
 * $_GET prüfen, ob nur zahlen enthalten sind  
*/  
function get_numeric($key) {  
  return (isset($_GET[$key]) AND is_numeric($_GET[$key])) ? $_GET[$key] : false ;  
}

Ist der Ansatz so Ok?

mfg

0 101

Weiterblättern-Menu

Malcolm Beck´s
  • seitenbewertung
  1. 0
    hotti
    1. 0

      Mein posting hat sich verselbständigt

      Malcolm Beck´s
      • zu diesem forum
      1. 0

        Doppelposting!

        Patrick Andrieu
        1. 0
          Malcolm Beck´s
  2. 0
    Bernhard B.
    1. 0
      Malcolm Beck´s
  3. 0
    Tom
    1. 0
      Malcolm Beck´s
      1. 0
        Tom
        1. 0
          Malcolm Beck´s
          1. 0
            Tom
            1. 0
              Malcolm Beck´s
              1. 0
                Tom
                1. 0
                  Malcolm Beck´s
      2. 0
        Felix Riesterer
        1. 0
          Malcolm Beck´s
          1. 0
            Felix Riesterer
            1. 0
              Malcolm Beck´s
        2. 0
          Malcolm Beck´s
  4. 0
    Steel
  5. 0
    Ulysses
    1. 0
      Malcolm Beck´s
  6. 0
    Steel
    1. 0
      Malcolm Beck´s
      1. 0
        Steel
        1. 0
          Malcolm Beck´s
  7. 0

    Weiterblättern-Menu Fertig

    Malcolm Beck´s
    1. 0
      Ulysses
      1. 0
        Malcolm Beck´s
    2. 1
      Kai345
      1. 0
        Malcolm Beck´s
        1. 0
          Kai345
          1. 0
            Malcolm Beck´s
    3. 0
      Tom
      1. 0
        Malcolm Beck´s
        1. 0
          Tom
          1. 0
            Malcolm Beck´s
            1. 0
              Pryos.org
              1. 0
                Malcolm Beck´s
                1. 0
                  Kai345
                  1. 0
                    Malcolm Beck´s
                    1. 0
                      Malcolm Beck´s
                      1. 0
                        Pryos.org
                        1. 0
                          Pryos.org
                        2. 0
                          Malcolm Beck´s
                          1. 1
                            Pryos.org
                            1. 0
                              Malcolm Beck´s
                              1. 0
                                Pryos.org
                                1. 0
                                  Malcolm Beck´s
                                  1. 0
                                    Pryos.org
                                    1. 0

                                      Weiterblättern-Menu „quasi“ Fertig

                                      Malcolm Beck´s
                                      1. 0
                                        Malcolm Beck´s
                                        1. 0
                                          Pryos.org
                                          1. 0
                                            Malcolm Beck´s
                                            1. 0
                                              Pryos.org
                                              1. 0

                                                OOP, __construct und zugriff auf $this-Variablen

                                                Malcolm Beck´s
                                                1. 0
                                                  Patrick Andrieu
                                                  1. 0
                                                    Malcolm Beck´s
                                                    1. 0
                                                      Patrick Andrieu
                                                      1. 0
                                                        Malcolm Beck´s
                                                        1. 0
                                                          Patrick Andrieu
                                                          1. 0
                                                            Malcolm Beck´s
                                                            1. 0
                                                              Patrick Andrieu
                                                              1. 0
                                                                Patrick Andrieu
                                                                1. 0
                                                                  Malcolm Beck´s
                                                                  1. 0
                                                                    Patrick Andrieu
                                                                    1. 0
                                                                      Malcolm Beck´s
                                                                      1. 0
                                                                        Patrick Andrieu
                                                                        1. 0
                                                                          Malcolm Beck´s
                                                                          1. 0

                                                                            OOP - Olter orientierte Postingberatung

                                                                            Patrick Andrieu
                                                                            • menschelei
                                                                            1. 0
                                                                              Malcolm Beck´s
                                                2. 0
                                                  Pryos.org
                                                  1. 0
                                                    Malcolm Beck´s
                                                    1. 0
                                                      Pryos.org
                                                      1. 0

                                                        N-Paginator V2.6 | Beta Release ist Online

                                                        Malcolm Beck´s
                              2. 0
                                Malcolm Beck´s
                                1. 1
                                  Pryos.org
    4. 0
      suit
      1. 0
        Malcolm Beck´s
        1. 0
          suit
          1. 0
            Malcolm Beck´s
            1. 0
              suit
              1. 0
                Malcolm Beck´s
                1. 0
                  suit
                  1. 0
                    Malcolm Beck´s
                    1. 0
                      suit
                      1. 0
                        Pryos.org
                      2. 0
                        Malcolm Beck´s
                        1. 0
                          suit
                          1. 0
                            Malcolm Beck´s
                            1. 0
                              suit
                              1. 0
                                Pryos.org
                                1. 0
                                  suit
      2. 0
        Tom
        1. 0
          Malcolm Beck´s
          1. 0
            Tom
            1. 0
              Malcolm Beck´s
              1. 0
                Tom
                1. 0

                  Positive Vibes

                  Malcolm Beck´s
                  • menschelei
  8. 0

    Weiterblättern-Menu -- Feuertaufe

    Malcolm Beck´s