Ankündigung

Einklappen
Keine Ankündigung bisher.

Routing mittels GET-Parameter realisieren?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Routing mittels GET-Parameter realisieren?

    Hallo,

    Ich habe mal in einem Projekt gesehen, dass dort das Routing mittels GET-Parameter realisiert wurde.

    Das ganze funktionierte wie folgt:
    - Man klickte z.B. auf den Link "Gästebuch"
    - Es wurde dann die index.php mit dem GET-Parameter "request=gaestebuch" aufgerufen
    - In der index.php wird dann (u.a., neben der Benutzerprüfung und Templateausgabe) in einem switch-case-Konstrukt für "request" nach "gastebuch" geschaut und dann die entsprechende gaestebuch.php inkludiert.

    Jetzt hatte ich aber nochmal nach "PHP Routing" gegoogelt, aber dieses Konzept habe ich nirgends finden können. Mir erscheint dieses Konzept aber als sehr simpel und ausreichend.


    Aber was sagt ihr dazu? Kann man dieses Routingsystem beibehalten?
    Oder ist es schlecht? Falls ja, warum? Und was wäre die alternative? Gibts da eine einheitliche Lösung die i.d.R. alle anwenden?

  • #2
    Es einen ganz großen Nachteil, dein switch/case wird immer weiter wachsen, wenn die Seite weite wächst.

    Vom Prinzip her ist es sicherlich nicht schlecht, nur statt dem Switch/Case sollte eine Datenbank stehen, bzw. eine Dateisuche.
    [URL="http://php.net/manual/en/migration55.deprecated.php"]mysql ist veraltet[/URL] [URL="http://php-de.github.io/jumpto/mail-class/"]Mails senden: Ohne Probleme und ohne mail()[/URL]
    [PHP]echo 'PS: <b>Meine Antwort ist keine Lösung, sondern nur eine Hilfe zur Lösung.</b>';[/PHP]

    Kommentar


    • #3
      weiterer nachteil wäre es, wenn du versucht vorhandene seite auf schöne URLs umzubiegen, du hättest zwar regulär deine request=whatever aber du hättest auch andere URLs und die wären nicht so einfach umzubiegen..

      alternative gibt es halt routing dabei wird mit einer .htaccess oder einer nginx einstellung jeder request auf index.php/irgendwas umgeboben, in der index.php fragst du dann $_SERVER['REQUEST_URI'] was gerade angefragt wird und lieferst das dann als antwort.

      kannst dir ja mal http://silex.sensiolabs.org/ herunterladen, es ist klein und gibt dir genau das was du brauchst
      index.php
      PHP-Code:
      require_once __DIR__.'/../vendor/autoload.php'

      $app = new Silex\Application(); 

      $app->get('/guestbook/', function() use($app) { 
          return 
      'Gästebuch';
      }); 
      $app->get('/', function() use($app) { 
          return 
      'Startseite';
      }); 
      $app->match('/contact/', function() use($app) { 
          return 
      'Contact, diese URL kann auch in einer Form eingebaut werden und reagiert beim submit';
      })
      ->
      method('GET|POST'); 
      $app->run(); 
      apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

      Kommentar

      Lädt...
      X