Pryos.org: Weiterblättern-Menu „quasi“ Fertig

Beitrag lesen

hi,

Hallo,

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.

Entschuldige, das ich erst jetzt antworte, aber ich hatte bisher nicht die Luft und den Kopf dafür ;).

<?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

// ausserhalb der Klasse isses eigendlich wurst wo du deine Daten her holst :)

$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();
  }
  private function calculate_pages() {
    return ceil($this->total_data / $this->perpage);
  }

// Du verwendest hier ein merkwürdiges Mischmasch aus 2 Möglichkeiten. Entweder schreibst du Funktionen mit Parametern und Rückgabewerten:
   public function __construct($param) {
     $this->total_pages = $this->calculate_pages($this->total_data, $this->perpage);
   }
   private function calculate_pages($total_data, $perpage) {
     return ceil($total_data / $perpage);
   }
// Oder du verwendest Funktionen, welche gleich die Klassenvariablen bearbeiten
   public function __construct($param) {
     $this->calculate_pages();
   }
   private function calculate_pages($total_data, $perpage) {
     $this->total_pages =  ceil($this->total_data / $this->perpage);
   }
// Insgesamt finde ich es aber merkwürdig, weshalb du für ein ceil eine eigene Funktion schreibst ;)-

private function temp_replace($str) {
    return str_replace('[/b]', "</strong>", str_replace('[b]', "<strong>", $str));
  }

// Hier hast du die Funktion ja richtig meacht

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));
  }
}

$_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

// Ansich auch eine Interesante Idee, aber ich würde ehr zu Funktionen greifen und die notwendigen Daten beim Aufruf berechnen
$_pagination->PrintPageHeader();
// oder
echo $_pagination->GetPageFooder();

function get_numeric($key) {
  return (isset($_GET[$key]) AND is_numeric($_GET[$key])) ? $_GET[$key] : false ;
}


>   
>   
> Ist der Ansatz so Ok?  

Sieht eigendlich recht gut aus.  

> mfg  

mfg Pryos
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