Malcolm Beck´s: PHP Zend-Framewok Installation nutzen

Beitrag lesen

مرحبا

Sorry, dass ich mich erst wieder so spät einklinke, hatte einen kleinen Crash am Wochenende und war ein bisschen weggetreten.

Das ist ein sogenannter Type-Hint

Ok, Type-Hint habe ich soweit verstanden.

Das mit dem Menu war aber glaube ich keine Gute Idee. Sieht zwar leicht aus, aber die Objektiteration macht mich jetzt schon ganz Bibber und Bange.
Können wir vielleicht auf etwas leichteres umsteigen? Eine leichte Übung wäre Angepasste Inhalte für mobile Endgeräte (hoffe ich zumindest :)).
Ich habe damit mal rumgespielt (das mit dem Menu ist mir derzeit zu Hoch), und habe das Bsp. vom Dirk in eine Klasse gepackt.

Die Klasse soll ermitteln, ob der anfordernde Client ein Mobil-Gerät ist, oder nicht (das funktioniert bereits).
Darüberhinaus muss die Klasse auch mit Cookies und GET-Variablen arbeiten. Sollte ich diese Variablen von Aussen mittels Parametern der Klasse übergeben, oder soll ich hier innerhalb der Klasse direkt auf die Globalen Variablen zugreifen?

Meine Idee für die Klasse wäre so:

class CheckMobile  
{  
  public $_device;  // @return "Mobile" oder "Desktop"  
  // Sind die Useragents hier richtig aufgehoben?  
  private $_agents = array('up.browser','up.link','mmp','symbian','smartphone'  
                          ,'midp','wap','phone','Windows CE','Pocket','mobile'  
                          ,'-mobile','portable','SDA','PDA','handheld','iemobile'  
                          ,'palmos','minimo','avantgo','cHTML','blackberry'  
                          ,'opera mini','fennec','nokia','googlebot-mobile');  
  
  public function __construct()  
  {  
    $this->_device = $this->GetDevice();  
  }  
  
  private function isMobile() // Prüfen der Browserkennung  
  {  
    for ($i = 0; $i < count($this->_agents); $i++)  
      if (isset($_SERVER["HTTP_USER_AGENT"]) AND strpos(strtolower($_SERVER['HTTP_USER_AGENT']), $this->_agents[$i]) !== false)  
        return true;  
    return false;  
  }  
  
  private function GetDevice()  
  {  
    if ($this->isMobile())  
      return 'Mobile';  
    else  
      return 'Desktop';  
  }  
  
}  
  
// Aufruf  
$_device = new CheckMobile();  
echo $_device->_device;

Ist der Ansatz soweit Ok? Als nächstes müsste ich Cookies und GET-Parameter prüfen, wie sollte ich da drangehen? Die Variablen von Aussen der Klasse hinzufügen und innerhalb der Klasse wie "normale" Variablen behandeln, oder direkt die Superglobalen Variablen verwenden? Also $_COOKIES und $_GET?

Sorry das ich gleich wieder das Thema wechsele, aber bevor ich wieder nur die hälfte verstehe.
Und die Fertige Klasse könnte später ins Wiki. 2 Fliegen mit einer Klatsche :)

mfg

--
Die neuen 4 Jahreszeiten: Frühling, ARSCHLOCH, Herbst und Winter!
0 101

PHP OOP Klassenaufteilung

Tom
  • php
  1. 0
    Jeena Paradies
    1. 0
      jobo
      1. 0
        Malcolm Beck´s
        1. 0
          jobo
          1. 0

            PHP Zend-Framewok Installation nutzen

            Malcolm Beck´s
            1. 0
              Jeena Paradies
              1. 0
                Malcolm Beck´s
                1. 0
                  Jeena Paradies
                  1. 0
                    Malcolm Beck´s
                    1. 0
                      Jeena Paradies
                    2. 0
                      jobo
                2. 0
                  jobo
                  1. 0
                    Malcolm Beck´s
                    1. 0
                      Jeena Paradies
                      1. 0
                        Tom
                        1. 0
                          Jeena Paradies
                          1. 0
                            Tom
                            1. 0
                              Jeena Paradies
                              1. 0
                                Tom
                                1. 0
                                  Jeena Paradies
                                  1. 0
                                    dedlfix
                                    1. 0
                                      Jeena Paradies
                                      1. 0
                                        dedlfix
                                        1. 0
                                          Jeena Paradies
                                2. 0
                                  Sven Rautenberg
                              2. 0
                                Malcolm Beck´s
                                1. 0
                                  Jeena Paradies
                                  1. 0
                                    Malcolm Beck´s
                            2. 0
                              Malcolm Beck´s
                              1. 2
                                Sven Rautenberg
                                1. 0
                                  Malcolm Beck´s
                                  1. 0
                                    Sven Rautenberg
                                    1. 0
                                      Malcolm Beck´s
                                      1. 8
                                        Sven Rautenberg
                                        1. 0
                                          Malcolm Beck´s
                                        2. 2
                                          dedlfix
                                        3. 0

                                          PHP OOP, wie eine Klassenhierarchie entsteht

                                          Tom
                                        4. 0
                                          Malcolm Beck´s
                                          1. 0
                                            Jeena Paradies
                                            1. 1
                                              dedlfix
                                            2. 1
                                              Sven Rautenberg
                                              1. 0
                                                Jeena Paradies
                                          2. 1
                                            dedlfix
                                            1. 0
                                              Sven Rautenberg
                                              1. 0
                                                dedlfix
                                          3. 2
                                            Sven Rautenberg
                                            1. 0
                                              dedlfix
                                              1. 0
                                                Sven Rautenberg
                                                1. 0
                                                  dedlfix
                                              2. 0
                                                Tom
                                                1. 0
                                                  dedlfix
                                            2. 0
                                              Malcolm Beck´s
                                              1. 0
                                                Sven Rautenberg
                                                1. 0
                                                  Claudius L.
                                                  1. 0
                                                    Claudius L.
                                                  2. 1
                                                    dedlfix
                                                    1. 0
                                                      Claudius L.
                                                      1. 2
                                                        Sven Rautenberg
                                                  3. 0
                                                    Sven Rautenberg
                                                2. 0
                                                  Malcolm Beck´s
                            3. 0
                              Sven Rautenberg
                3. 1
                  Matti Mäkitalo
                  1. 0
                    Malcolm Beck´s
                4. 0
                  Vinzenz Mai
                  1. 0
                    Malcolm Beck´s
                    1. 0
                      jobo
        2. 0
          dedlfix
          1. 0
            Malcolm Beck´s
            1. 0
              Malcolm Beck´s
              1. 1

                Uralt-Software

                Kai345
                • meinung
                1. 0
                  Malcolm Beck´s
                  1. 0
                    Kai345
                    1. 0
                      Malcolm Beck´s
            2. 0
              dedlfix
      2. 0
        Jeena Paradies
  2. 2
    Sven Rautenberg
    1. 0
      Tom
  3. 0
    hotti
    1. 0
      dedlfix
      1. 0
        Jeena Paradies
        1. 2
          dedlfix
          1. 0
            Jeena Paradies
      2. 0
        hotti
        1. 0
          Jeena Paradies
          1. 0
            Tom
            1. 0
              Jeena Paradies
              1. 0
                dedlfix
                1. 0
                  Jeena Paradies
                  1. 0
                    Sven Rautenberg
                    1. 0
                      Jeena Paradies
                      1. 0
                        dedlfix
                2. 0
                  Tom
                  1. 0
                    dedlfix
            2. 0
              Sven Rautenberg
        2. 2
          dedlfix
        3. 0
          hotti
      3. 0
        Matti Mäkitalo
        1. 0
          dedlfix
  4. 1
    jobo
  5. 0
    hotti