Ergebnis 1 bis 20 von 21

Thema: [PHP] PHP-Datei auslesen und Inhalt auf der Seite wiedergeben

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Zitat Zitat von mitaki Beitrag anzeigen
    Außerdem verstehe ich nicht, warum man diese Konstruktion so oft vorfindet:
    Code:
    $page=$_GET['page'];
    Völlig sinnlos.
    Das hat schon seinen Sinn, zumindest wenn der Wert möglicherweise nachträglich verändert wird. Imo ist es nämlich schlechter Stil, die superglobalen Variablen zu verändern - wenn man die Daten verändern muss, macht man das mit einer Kopie. Und ansonsten spart man sich so Schreibarbeit und es sieht schöner aus :P

  2. #2
    Zitat Zitat
    Das hat schon seinen Sinn, zumindest wenn der Wert möglicherweise nachträglich verändert wird. Imo ist es nämlich schlechter Stil, die superglobalen Variablen zu verändern - wenn man die Daten verändern muss, macht man das mit einer Kopie. Und ansonsten spart man sich so Schreibarbeit und es sieht schöner aus :P
    Zur Weiterverarbeitung mag das ja nützlich sein. Ich würde einer Variable allerdings sofort die verarbeitete Version zuweisen. Außerdem meine ich, dadurch den Ursprung der Information besser nachvollziehen zu können.

    Schreibarbeit? Tasten richtig belegen!

    Ob es schöner aussieht ist wohl eher Geschmackssache. $page erinnert zu sehr an die register_globals-Zeit und damit schlechtem Stil. $_GET hebt sich davon majestätisch ab

  3. #3
    Zitat Zitat von mitaki Beitrag anzeigen
    [...]
    Mal ehrlich: Wenn man schön gecodet hat, kann man eine globale Variable sowieso nur einmal verwenden: Und zwar, wenn man sie per Value an einen einen Konstruktor übergibt.

    Wenn es dann nicht mindestens eine selbst geschriebene Funktion ist, hat man bereits etwas falsch designed.

    Somit ist es eigentlich nur Haarspalterrei, welcher Stil stilloser ist.



    Ich persönlich halte es ja am angenehmsten, die Seiten in eine Tabelle in der Datenbank einzutragen und über die ID zu arbeiten: So kann man auch alles viel einfacher managen, und sortieren. Statistiken sind auch leichter zu erstellen, usw.

    Geändert von Mog (30.05.2007 um 14:49 Uhr)

  4. #4
    Zitat Zitat
    Mal ehrlich: Wenn man schön gecodet hat, kann man eine globale Variable sowieso nur einmal verwenden: Und zwar, wenn man sie per Value an einen einen Konstruktor übergibt.
    Was hat der geschriebene Unterscheid zwischen $page und $_GET['page'] mit dem allgemeinen Programmierungs„stil“ zu tun?

    Zitat Zitat
    Wenn es dann nicht mindestens eine selbst geschriebene Funktion ist, hat man bereits etwas falsch designed.
    Wenn man, wie du gesagt hast, den Wert übergibt. Eine eigene Funktion bringt aber auch hier nichts, wenn man die globale Variable direkt verwendet, was bei den Superglobalen ja möglich ist.

    Zitat Zitat
    Ich persönlich halte es ja am angenehmsten, die Seiten in eine Tabelle in der Datenbank einzutragen und über die ID zu arbeiten: So kann man auch alles viel einfacher managen, und sortieren. Statistiken sind auch leichter zu erstellen, usw.
    Ich hoffe, dass das nicht bedeutet, dass du deinen Besuchern Nummern an den Kopf wirfst.

  5. #5
    Zitat Zitat von mitaki Beitrag anzeigen
    Was hat der geschriebene Unterscheid zwischen $page und $_GET['page'] mit dem allgemeinen Programmierungs„stil“ zu tun?


    Wenn man, wie du gesagt hast, den Wert übergibt. Eine eigene Funktion bringt aber auch hier nichts, wenn man die globale Variable direkt verwendet, was bei den Superglobalen ja möglich ist.


    Ich hoffe, dass das nicht bedeutet, dass du deinen Besuchern Nummern an den Kopf wirfst.
    Es geht doch darum, das diese Diskussion auf einen allgemeinen schlechten Programmierstil zurück geht. Wenn man es elegant macht, dann sind alle funktionalitäten in Modulen untergebracht und man greift nur auf sie zu, wenn sie übergeben wurden. Ganz egal, ob sie superblobal sind, oder was auch immer. Da gibt es Designregeln.

    Somit ist eine Kopie per Value sowieso /immer/ dabei, da man die superglobale Variable niemals ändert. Theoretisch kann man sie ja auch per Referenz übergeben, aber das ist nur sinnvoll, wenn es um große Arrays geht: Ob du den zahlenwert, oder die Adresse kopierst, ist egal. Nur dauert die Referenzmagie in PHP ewig, da wir den recht natürlichen Mechanismus auf höhere Ebene nachgebaut in Verwendung haben. Somit ist eine Übergabe per Value sinnvoller als Referenz.

    Dh. hat man in seinem Modul immer eine Kopie mit einem anderen Namen:

    function foo ( $IchBinEineGlobaleVariable ) { }

    Somit arbeitet man im Modul sowieso mit einem anderen Namen. Wenn man es noch eleganter macht, ist die Seite ein riesiges Objekt. Somit hat sich die ganze Geschichte sowieso erledigt.

  6. #6
    Zitat Zitat
    Es geht doch darum, das diese Diskussion auf einen allgemeinen schlechten Programmierstil zurück geht. Wenn man es elegant macht, dann sind alle funktionalitäten in Modulen untergebracht und man greift nur auf sie zu, wenn sie übergeben wurden. Ganz egal, ob sie superblobal sind, oder was auch immer. Da gibt es Designregeln.
    Das ist klar, aber man kann nicht erwarten, dass jemand von der $page = $_GET['page']-Schreibweise auf eine modulare Anwendungsbasis wechselt. Gerade weil ersteres schon ein Schritt in eine ganz andere Richtung ist.

    Dass Designregeln wichtig sind, musst du mir bestimmt nicht sagen. Es get mir nur mehr darum, dass ich bei der fraglichen Codezeile nicht denke: „Warum wird die Funktionalität nicht in einer Funktion / einem Objekt durchgeführt?“ sondern grunsätzlich mal „Warum so umständlich?“
    Letztendlich sehe ich darin auch den Weg zu besserem Stil. Designregeln und Standards haben keinen Sinn, wenn sie nicht verstanden werden.

    Zitat Zitat
    Somit arbeitet man im Modul sowieso mit einem anderen Namen. Wenn man es noch eleganter macht, ist die Seite ein riesiges Objekt. Somit hat sich die ganze Geschichte sowieso erledigt.
    Volle Zustimmung.

  7. #7
    Zitat Zitat von mitaki Beitrag anzeigen
    Das ist klar, aber man kann nicht erwarten, dass jemand von der $page = $_GET['page']-Schreibweise auf eine modulare Anwendungsbasis wechselt.
    Um ehrlich zu sein, erwarte ich das von jedem, der eine Scriptsprache lernt. :P So schwierig ist das doch nicht, wenn man das Andere ein wenig kann.

    Vergiss nicht, das man im Normalfall eben genau damit anfängt.

  8. #8
    Zitat Zitat von Mog
    Vergiss nicht, das man im Normalfall eben genau damit anfängt.
    Ja, hab ich leider versäumt >.<

    Zitat Zitat
    Um ehrlich zu sein, erwarte ich das von jedem, der eine Scriptsprache lernt. :P So schwierig ist das doch nicht, wenn man das Andere ein wenig kann.
    Nein, meine auch den direkten Sprung zur besseren Variante.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •