mangodrone: Unterschied von <? und <?php Beginn eines PHP-Scripts

Guten Abend

Interessenshalber möchte ich gerne endlich mal in Erfahrung bringen was der Unterschied zwischen einem PHP-Script-Beginn von <? und <?php ist. Ich benutze immer die zweite Variante, habe aber schon oft die erste gesehen. Ist das ein Unterschied, evtl. von älteren PHP-Versionen, oder dasselbe?

Vielen Dank
mangodrone

  1. Grüße,
    für <? muss auf dem server shorttags aktiv sein - im allgemeinen ist es nciht empfehlenswert - problempotential ohne gewinn
    MFG
    bleicher

    --
    __________________________-

    FirefoxMyth
    1. Vielen Dank!

    2. für <? muss auf dem server shorttags aktiv sein

      short_open_tags

      im allgemeinen ist es nciht empfehlenswert - problempotential ohne gewinn

      Der Gewinn ist kürzerer Code ;)

  2. Hi!

    Interessenshalber möchte ich gerne endlich mal in Erfahrung bringen was der Unterschied zwischen einem PHP-Script-Beginn von <? und <?php ist. Ich benutze immer die zweite Variante, habe aber schon oft die erste gesehen. Ist das ein Unterschied, evtl. von älteren PHP-Versionen, oder dasselbe?

    <? ist eine Kurzform von <?php, die noch die Verkürzung <?= expression ?> für <?php echo expression ?> mitbringt. Außerdem gibt es noch zwei andere, kaum verbreitete Möglichkeiten, in den PHP-Modus zu schalten: Escaping from HTML.

    Da die Kurzform weder missbilligt (deprecated) noch sonstwie auf der Abschussliste steht, spricht nichts dagegen, sie zu verwenden, solange du
    a) Einfluss auf die Konfiguration hast,
    b) nicht vorhast, portable Scripte zu schreiben, was auch einen Umzug zu einer restriktiver eingestellten System beinhaltet,
    c) keinen XML-Vorspann außerhalb von PHP notieren möchtest, so du überhaupt einen brauchst.

    Zu a) Ich kann mich nicht erinnern, hier schon mal eine Anfrage gesehen zu haben, bei der sich herausstellte, dass die Ursache ein vom Hoster deaktiviertes short_open_tag war. Und sie tun gut daran, das nicht zu deaktivieren, weil es ein völlig unkritisches Feature ist, und man sich durch die Deaktivierung nur unnötige Supportanfragen einhandelt.
    Zu c) Der XML-Vorspann ist das einzige (mir) bekannte Konfliktpotential im Webumfeld, doch den will man einerseits nicht haben, weil er nichts bringt, außer alte IEs in den Quirksmodus zu schicken, andererseits kann man ihn als Workaround einfach mit PHPs echo ausgeben, wenn man mit XML hantiert.

    Lo!

    1. c) keinen XML-Vorspann [...]

      Muss man denn alles Übersetzen? ;)

    2. @@dedlfix:

      nuqneH

      c) keinen XML-Vorspann außerhalb von PHP notieren möchtest, so du überhaupt einen brauchst.

      Nicht nur die XML-Deklaration wäre bei short_open_tags problematisch, sondern auch XML-Verarbeitungsanweisungen wie <?xml-stylesheet … ?>.

      Qapla'

      --
      Volumen einer Pizza mit Radius z und Dicke a: pi z z a