template_directory - <? php en lugar de<?
wordpress title tag (10)
Ambos son semánticamente iguales. <?
es simplemente un atajo para la sintaxis completa.
¿Por qué debería usar <?php
lugar de <?
en mi script php?
Cabe señalar que algunas configuraciones de servidor de PHP no admiten una u otra de manera predeterminada. Por ejemplo, mi servidor web no admite <? pero admite <? php
El soporte de la forma corta <?
/ <?=
sintaxis se basa en el parámetro short_open_tag
en php.ini . Si aloja su propia base de código, es trivial para habilitar. Sin embargo, en un host web compartido / administrado, es posible que no tenga control sobre esta configuración.
Por lo tanto, para una máxima portabilidad, debe usar la sintaxis de forma larga.
Hay dos métodos para iniciar PHP
<?php
y
<?
PHP también incluye
<?=
Pero eso imprimirá la variable detrás de él, ya que es una forma abreviada de eco.
Debe usar <? Php ya que es compatible con todos los tipos de servidor. Puede mover su código a una nueva solución de alojamiento o configurar un nuevo servidor predeterminado y las manos cortas podrían estar deshabilitadas.
Las dos razones principales para evitar la etiqueta de apertura breve son
- Máxima portabilidad:
<?php
funcionará en todos los servidores habilitados para PHP, pero<?
puede ser deshabilitado - Es idéntico a la apertura del preámbulo XML, podría causar dolores de cabeza de ejecución o análisis
Las etiquetas cortas <?
(y <?=
) podrían estar deshabilitados. La versión larga <?php
(y <?=
= <?php echo
) funciona en todas partes.
Podríamos discutir el sentido de esta decisión del equipo de PHP para hacer que tal cosa se pueda configurar, pero la esencia es que no se pueden usar las etiquetas cortas en el código portátil.
Para agregar a la explicación de todos que las etiquetas cortas no deberían usarse porque podrían estar deshabilitadas (o incluso eliminadas de futuras versiones de PHP), la razón principal para que las etiquetas cortas queden en desuso es que no son "instrucciones de procesamiento" XML válidas mientras el <?php
etiquetas son. Entonces, las plantillas PHP con etiquetas <?php ... ?>
Pueden ser documentos XML válidos, mientras que las que usan etiquetas cortas no lo son.
Yo personalmente prefiero <?
para ser apagado por dos razones
- Los estándares de codificación PHP en muchos proyectos grandes de PHP recomiendan que se apaguen
- Crea problemas si está generando documentos XML (los documentos xml comienzan con
<?xml version="1.0" encoding="UTF-8" ?>
) - (bonus)
<?php
es más fácil de leer y visible que<?
.
Los argumentos de portabilidad están muy bien, pero voy a ser sacrílego y decir que debes seguir adelante y usar etiquetas cortas si quieres, a menos que estés haciendo algo que sea para una distribución realmente amplia (de la fuente) , o están haciendo algo muy xml enfocado.
a) Nunca he estado en una situación en la que no pueda habilitar etiquetas cortas. Usualmente están encendidos por defecto.
b) En la mayoría de las situaciones, el <?
no se confundirá con <?xml
porque están siendo analizados en diferentes niveles de la pila.
c) la etiqueta corta es menos intrusiva y por lo tanto desordena su código menos. Encuentro esto especialmente cierto con <?php echo
vs. <?=
. (Podría argumentar que, en general, debe evitar usar cualquiera de esos dos, porque probablemente significa que está escribiendo un código de spaghetti, pero vamos, ¡esto es php!)
Por supuesto, todo depende del tipo de proyecto en el que estés trabajando, pero para un sitio web básico, no creo que la etiqueta corta pueda dañarte.
Wordpress Coding Standards dice que solo use <?php
. No explican por qué.
Esta podría ser una pregunta religiosa.