<? oder <?php

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

  • <? oder <?php

    Hallo,

    angeblich kann ja in der php.ini das autoopentag (?) mal nicht gesetzt sein und dann wäre <? ohne Wirkung.

    Wie oft kommt sowas vor? Kann man das vernachlässigen? Oder immer <?php nehmen?

    Mich stört, dass man damit z.B. nicht sowas machen kann:

    <tr><td><?=$variable;?></td></tr>

  • #2
    Gewöhn dir die Short-Tags besser nicht an. Abgesehen davon, dass - wie du schon richtig ahnst - die entsprechende Einstellung in der Regel deaktiviert ist, kollidiert die Short-Tag Notation unter Umständen mit einer XML-Deklaration. Der Parser schmeißt dir dann einen Parse Error um die Ohren, weil er `<?xml version="1.0" ?>` für PHP Code hält. Das kann man zwar umgehen... aber wozu die ganzen Umstände?
    Nieder mit der Camel Case-Konvention

    Kommentar


    • #3
      "autoopentag" -> short_open_tag

      Du könntest natürlich wenn du so Faul bist die Dateien per Stream öffnen und mit einem preg_replace anpassen. Aber diesen aufwand sollteste lieber sein lassen.

      PHP-Code:
      $find = '/<?=[ ]*([^;>]*?|[^;?]*?)[; ]*?>/';
      $replace = "<?php echo $1?>";
      $data = preg_replace($find, $replace, $data);
      Ansonsten kann ich mich nur meinem Vorredner anschließen.

      mfg
      bugbuster
      tutorial: peterkropff.de schattenbaum.de tut.php-quake.net
      documentation: php.net mysql.com framework.zend.com

      Die Nachtwache!

      Kommentar


      • #4
        Re: &lt;? oder &lt;?php

        Original geschrieben von Truncate
        Mich stört, dass man damit z.B. nicht sowas machen kann:

        <tr><td><?=$variable;?></td></tr>
        Mich auch.
        Ich verwende überall Short-Tags. Ich hatte noch nie Probleme.

        Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

        bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
        Wie man Fragen richtig stellt

        Kommentar


        • #5
          Re: Re: &lt;? oder &lt;?php

          Original geschrieben von ghostgambler
          Mich auch.
          Ich verwende überall Short-Tags. Ich hatte noch nie Probleme.
          Kann mich dem nur anschließen...
          Meine Programme laufen eh nur auf den von mir eingerichteten Systemen und müssen somit nie portiert werden.

          Auch mit xml gab es noch nie ein Problem...

          Speziell auf <?= $var ?> würde ich nur ungern verzichten wollen....

          Kommentar


          • #6
            Re: Re: &lt;? oder &lt;?php

            Original geschrieben von ghostgambler
            Mich auch.
            Ich verwende überall Short-Tags. Ich hatte noch nie Probleme.
            naja echo $array[index] funktioniert auch. trotzdem sollte man es nicht machen und den index in einfache anführungszeichen setzen

            ich finde alles was auch funktioniert, sollte nicht zwangsläufig auch gemacht werden.

            Kommentar


            • #7
              ich finde alles was auch funktioniert, sollte nicht zwangsläufig auch gemacht werden.
              150% agree
              Ohne short tags hat man viele potentielle Probleme gar nicht
              Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

              [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
              Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

              Kommentar


              • #8
                Original geschrieben von jahlives
                150% agree
                Ohne short tags hat man viele potentielle Probleme gar nicht
                Gib mal bitte ein Beispiel.... Aber nicht wieder das XML Beispiel...

                Kommentar


                • #9
                  Ganz allgemein Probleme mit der Portierbarkeit der geschriebenen Scripts. Je nach Serverumgebung hagelt es Fehlermeldungen oder es funzt.
                  Und eben die Sache mit XML...
                  Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                  [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                  Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                  Kommentar


                  • #10
                    Für unerfahrene ist so sofort ersichtlich das es sich um php handeln muss. *auch mal so erwähn*

                    mfg
                    bugbuster
                    tutorial: peterkropff.de schattenbaum.de tut.php-quake.net
                    documentation: php.net mysql.com framework.zend.com

                    Die Nachtwache!

                    Kommentar


                    • #11
                      Original geschrieben von Bugbuster
                      Für unerfahrene ist so sofort ersichtlich das es sich um php handeln muss. *auch mal so erwähn*
                      Unerfahrene würden sich solchen Code, wenn sie gar keine Ahnung haben entweder nicht angucken, oder wenn, dann schon recht leicht auf php kommen, da xml noch nicht so bekannt ist wie php .. würd ich behaupten wollen...

                      mfg

                      Kommentar


                      • #12
                        Wen interessiert es eigentlich, ob sein code von Unerfahrenen angeschaut wird und die erkennen ob es php ist?

                        Da die short tags nicht unbedingt portierbar sind, da sie von lokalen Einstellungen abhängig sind, sollte man sie nicht benutzen.
                        Spätestens bei irgendeinem System Upgrade fällt man in diese Falle rein und muss das immer überwachen.

                        Ich kann auch keinerlei Notwendigkeit erkennen sich in Abhängigkeit dieser lokalen Einstellung zu begeben, egal ob ich Herr des Gesamtsystems bin oder nicht.
                        Beantworte nie Threads mit mehr als 15 followups...
                        Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                        Kommentar


                        • #13
                          Es wird ja auch keiner einfach
                          PHP-Code:
                          $DOCUMENT_ROOT 
                          schreiben, nur weil es bei ihm und seiner Servereinstellung so funzt. Portierbarkeit ist mir zumindest wesentlich mehr Wert als die paar Zeichen, die ich mir so einspare. V.a. weil ich eine IDE mit vernünftiger Codevervollständigung habe und daher eh nur ein paar Zeichen tippe und dann einfach auf Enter haue
                          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                          Kommentar


                          • #14
                            Re: Re: Re: &lt;? oder &lt;?php

                            Original geschrieben von st@tic
                            naja echo $array[index] funktioniert auch. trotzdem sollte man es nicht machen und den index in einfache anführungszeichen setzen
                            Das ist aber auch einfach langsam ohne Anführungszeichen.

                            Da die short tags nicht unbedingt portierbar sind, da sie von lokalen Einstellungen abhängig sind, sollte man sie nicht benutzen.
                            Die Grafik-Funktionen der GDlib sind davon abhängig, ob die Extension installiert ist.
                            fpdf muss auch erst installiert werden.
                            Soll ich deshalb jetzt darauf verzichten?

                            Imagemagick ist nicht überall verfügbar, ist aber im Gegensatz zu gewissen anderen Dingen (GD) wenigstens in der Lage einwandfrei ein Bild zu konvertieren. Soll ich jetzt darauf verzichten?

                            PHP ist nicht überall verfügbar. Soll ich jetzt alles in Shell-Code programmieren und als cgi-bin laufen lassen?!

                            Tut mir Leid, aber so ein schwaches Argument, dass auf eine einzige Einstellung geachtet werden muss… das XML-Argument ist älter und kälter als der Kaffee in meiner Tasse.
                            Akzeptiert einfach, dass es Leute gibt, denen diese marginalen Nachteile vollkommen irrelevant sind, und die es absolut gar nicht interessiert, ob das irgendwelchen Leuten zu viel Konfigurationsaufwand ist, wenn sie dadurch bei einem großen Projekt ein paar Tausend Zeichen weniger zu tippen haben. (Mal abgesehen davon, dass ich <?=$var?> auch einfach übersichtlicher finde, wenn man mal den HTML-Code lesen muss.)

                            Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                            bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                            Wie man Fragen richtig stellt

                            Kommentar


                            • #15
                              Die Grafik-Funktionen der GDlib sind davon abhängig, ob die Extension installiert ist.
                              fpdf muss auch erst installiert werden.
                              Soll ich deshalb jetzt darauf verzichten?
                              nein, aber der Unterschied ist, dass es keine Notwendigkeit gibt short tags zu benutzen.
                              Wenn ich die Notwendigkeit für eine extension habe muss ich die eben beachten, aber warum in unnötige Abhängigkeit begeben???
                              Beantworte nie Threads mit mehr als 15 followups...
                              Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                              Kommentar

                              Lädt...
                              X