Saltar al contenido

¿Debo usar corchetes o concatenar variables dentro de cadenas?

Necesitamos tu apoyo para difundir nuestras reseñas sobre las ciencias de la computación.

Solución:

Todo lo siguiente hace lo mismo si observa la salida.

  1. $greeting = "Welcome, " . $name . "!";
  2. $greeting = 'Welcome, ' . $name . '!';
  3. $greeting = "Welcome, $name!";
  4. $greeting = "Welcome, $name!";

No debe usar la opción 1, use la opción 2 en su lugar. Tanto la opción 3 como la 4 son iguales. Para una variable simple, las llaves son opcionales. Pero si estás usando array elementos, debe usar llaves; p.ej: $greeting = "Welcome, $user['name']!";. Por lo tanto, como estándar, se usan llaves si se usa interpolación variable, en lugar de concatenación.

Pero si caracteres como tabulador (t), nueva línea (n) se utilizan, deben estar entre comillas dobles.

Generalmente, la interpolación de variables es lenta, pero la concatenación también puede ser más lenta si tiene demasiadas variables para concatenar. Por lo tanto decidir en función de cuántas variables entre otros caracteres.

Aunque no se trata de ataques de inyección (incluido SQLi), al menos debe tenerse en cuenta, especialmente para los desarrolladores de PHP, que usar cualquiera de las técnicas anteriores sin primero codificar y validar todas las entradas lo llevará a un ataque basado en inyección.

Es importante recordar la seguridad al comienzo de la codificación, no al final, cuando todo el código debe rehacerse para cumplir con los requisitos de seguridad. O, cuando finalmente consigues esta maldita guerra “vs. ‘ y te das cuenta de que no importa porque eres susceptible a XSS usando cualquiera de las dos técnicas sin codificar y validar correctamente todas las entradas.

  1. Codificar utilizando códigourlen() o htmlenidades() para normalizar las entradas.
  2. Usar escritura de datos para no cadenas O búsqueda de diccionario y/o expresiones regulares para cadenas para validar.
  3. ¿Ganancia?

Con PHP precompilado (caché de código de bytes) no hay diferencia.

Esta característica viene con PHP 5.5 (Zend Optimizer+).

Sección de Reseñas y Valoraciones

No se te olvide comunicar esta crónica si te fue de ayuda.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *