PHP-Echo vs. kurze PHP-Echo-Tags

Lesezeit: 2 Minuten

PHP Echo vs kurze PHP Echo Tags
Hausaufgaben

Sind sie gleich sicher? Ich wurde darüber informiert

<?=$function_here?>

weniger sicher war und die Seitenladezeiten verlangsamte. Ich bin strikt voreingenommen, Echo zu verwenden.

Was sind die Vorteile/Nachteile?

PHP Echo vs kurze PHP Echo Tags
Pascal Martin

<? und <?= werden kurze offene Tags genannt und sind nicht immer aktiviert (siehe die short_open_tag Direktive) mit PHP 5.3 oder niedriger (aber seit PHP 5.4.0, <?= ist immer verfügbar).

Tatsächlich sind sie in der mit PHP 5.3.0 bereitgestellten php.ini-Produktionsdatei standardmäßig deaktiviert:

$ grep 'short_open' php.ini-production
; short_open_tag
short_open_tag = Off

Daher ist es möglicherweise keine gute Idee, sie in einer Anwendung zu verwenden, die Sie verteilen möchten: Ihre Anwendung funktioniert nicht, wenn sie nicht aktiviert sind.

<?phpauf der anderen Seite, kann nicht deaktiviert werden – daher ist es am sichersten, dieses zu verwenden, auch wenn das Schreiben länger dauert.

Abgesehen davon, dass kurze offene Tags nicht unbedingt aktiviert sind, glaube ich nicht, dass es einen großen Unterschied gibt.

  • Vielleicht ist die Verwendung von GD oder CURL oder PHP überhaupt keine gute Idee, da es sich um externe Module handelt, die bei einigen lahmen Shared-Hosting-Anbietern deaktiviert werden können? Es ist kompletter BS, dass sie fast immer eingeschaltet sind.

    – Slawek

    16. Januar 2012 um 10:11 Uhr


  • Wenn man bedenkt, dass sie in der Standard-Produktionskonfiguration ausgeschaltet sind, denke ich, dass sie immer seltener eingeschaltet werden;; wenn man bedenkt, dass es einfach/einfach ist, sie nicht zu verwenden … nun, es steht Ihnen natürlich frei, jede beliebige Syntax zu verwenden, ich hoffe nur für Sie, dass Sie Ihre Anwendung nicht auf einem Server bereitstellen müssen, der die Standardkonfiguration dafür hat Richtlinie 😉

    – Pascal Martin

    16. Januar 2012 um 21:16 Uhr

  • Die Standardkonfiguration für PHP, MySQL und Apache ist nicht für den Produktionseinsatz geeignet und wir alle wissen es 🙂 Sie befürworten nur das Schreiben von unlesbarem Code … wegen was? Einer von 40 Servern unterstützt möglicherweise keine kurzen Tags? 🙂 … Neben Diese Direktive betraf auch die Kurzschrift

    – Slawek

    16. Januar 2012 um 22:19 Uhr

  • Ich habe leider keine Zahlen, die meine Theorie untermauern, aber ich würde in diesem Punkt nicht die 1/40-Chance eingehen (und das bin ich tatsächlich nicht – und ich arbeite in einem Unternehmen, in dem wir unsere Server selbst konfigurieren und nicht auf einen externen Hosting-Dienst angewiesen sind) ;; Ich sollte hinzufügen, dass PHP 5.4 nicht veröffentlicht wird (noch – es sollte in ein paar Tagen/Wochen sein)und es wird Monate dauern, bis es auf 1/40 Servern da draußen installiert ist (ganz zu schweigen von der Zeit, die es dauern wird, bis es auf 50 % von ihnen installiert ist … )

    – Pascal Martin

    17. Januar 2012 um 5:34 Uhr

1647278049 713 PHP Echo vs kurze PHP Echo Tags
Karl

Echo ist im Allgemeinen einfach besser zu verwenden, weil …

  1. Es unterstützt einen guten Programmierstil.
  2. Es kann in php.ini nicht deaktiviert werden (kurze Tags können sein)
  3. Kurze Tags werden in PHP 6 entfernt)

Aber sie sind im Allgemeinen gleich. Siehe auch:

  1. Können kurze PHP-Tags verwendet werden?
  2. Wie unterscheiden sich echo und print in PHP?

  • was?! 6 entfernt sie? lahme Soße! Wenn ich für den Server verantwortlich bin, kümmere ich mich nicht um Portabilität. <?= ist so viel schöner als <?php echo

    – mp

    6. September 2009 um 20:31 Uhr

  • Schlimmer noch:

    – Mauris

    7. September 2009 um 1:59 Uhr

  • Die Abneigung der PHP-Community gegenüber kurzen Tags verblüfft mich einfach; sie vollständig zu entfernen n php6 ist nur der letzte Beweis für mich, dass das php-Designteam verrückt ist. ist in einem Template so viel sauberer als

    – DGM

    7. September 2009 um 5:13 Uhr

  • php6 Grund ist einfach nicht wahr

    – Ihr gesunder Menschenverstand

    19. März 2010 um 9:24 Uhr

  • PHP6 oder wie auch immer die nächste Version heißen wird NICHT Short-Open-Tags entfernen. Wenn überhaupt, werden sie standardmäßig deaktiviert.

    – Gordon

    7. September 2010 um 11:25 Uhr

PHP Echo vs kurze PHP Echo Tags
Blouarf

http://php.net/manual/en/language.basic-syntax.phpmode.php Zustände:

Ab PHP 5.4 wird das kurze Echo-Tag immer erkannt und ist gültig, unabhängig von der short_open_tag Einstellung.

short_open_tag Aus oder Ein spielt keine Rolle mehr.

Jetzt können Sie also unbesorgt solche Tags in Ihre Vorlagen einfügen:

    <?= (($test) ? "val1" : "val2") ?>

Nun ist es offiziell, der „Short Echo Tag“ ist etwas ganz anderes als der „Short Tag“.

Abgesehen von der ganzen halbreligiösen Debatte darüber, ob die Verwendung von kurzen Tags eine gute Idee ist oder nicht und ob sie als veraltet angesehen werden sollte oder nicht, war die ursprüngliche Frage, wie sicher oder unsicher sie zu verwenden sind.

Einfach ausgedrückt: Wenn Sie kurze Tags auf einem Server verwenden, der sie nicht unterstützt, können Teile Ihres PHP-Codes offengelegt werden, was als Sicherheitslücke betrachtet werden kann.

1647278050 749 PHP Echo vs kurze PHP Echo Tags
leopold

Nur um eine weitere PSR-Quelle hinzuzufügen: http://www.php-fig.org/psr/psr-1/

PHP-Code MUSS die langen Tags oder die kurzen Echo-Tags verwenden; es DARF NICHT die anderen Tag-Variationen verwenden.

Angabe:

 <?php ?> and <?= ?>

1647278050 11 PHP Echo vs kurze PHP Echo Tags
Peter Mortensen

Sie sollten

Außerdem wird bereits in PHP 5.5

Falls noch nicht sicher… Ein bisschen googeln hilft sehr =D

1002500cookie-checkPHP-Echo vs. kurze PHP-Echo-Tags

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy