[AYUDA] Como se concatenan saltos de linea en el codigo de PHP .= o &&

Iniciado por Graphixx, 1 Septiembre 2014, 16:24 PM

0 Miembros y 1 Visitante están viendo este tema.

#!drvy

Hola, vengo a confundiros un poco xD

Como WHK ha mencionado la mejor manera de concatenar un string con otro es usando punto(.).

Pero, una manera mas eficiente de concatenear varios strings en un echo, es usando coma(,).

Código (php) [Seleccionar]
echo 'Hola ',$nombre,', tienes ',$mensajes,' mensajes';

La razón es que a diferencia de las variables o return, el constructor echo permite introducir varios parámetros.

http://php.net/manual/en/function.echo.php

Benchmark
http://www.fusionswift.com/2010/05/php-concatenation-benchmark-comma-vs-period/

Saludos

WHK

Antes usaba comas también, el problema es que las comas generan una mala costumbre y puede ocacionar muchos problemas, especialmente con las condicionales inline, por ejemplo:

Código (php) [Seleccionar]
<?php
echo 'Hola, mi nombre es '.($nombre htmlspecialchars($nombreENT_QUOTES) : 'desconocido').'!'.


Cuando tienes muchas comas y muchos condicionales tendrás muchas excepciones en php a menos que vayas encerrando cada cosa entre parentesis, pero para evitar eso emjor usas puntos :)

Por ejemplo si miras el código fuente de simplemachines verás que casi todo está con comas y condicionales inline y hacer cambios en esa ensalada de código dentro de un mismo echo es muy dificil, normalmente debes normalizar el código pasando todo a puntos y usando condicionales por separado, pero si ves el código fuente de otros sistemas webs mas profesionales y mejores hechos como wordpress verás que todo está hecho con cierre y apertura de etiqueta php y concatenaciones con puntos, por ejemplo:

Código (php) [Seleccionar]
<h1>Hola, mi nombre es <?php _($nombre $nombre 'Desconocido'?>!.</h1>

Ahora, imagina la cantidad de código que hago durante el año, imagina si mañana dijera... sabes, es mejor hacer comas que puntos y comillas simpels que dobles... imagina la cantidad de código que tendría que ir modificando todos los dias para poder continuar con mis proyectos personales, por eso me documenté, averigué, filosofé como no sabes y llegué a la conclusión que en todos mis proyectos de php debo seguir la misma línea, la mejor para mi la cual es usar puntos para concatenar, usar apertura y cierre de tag php para escribir código html como en el ejemplo anterior, usar comillas simples para cerrar variables o strings, usar comillas dobles para código html, simples para javascript, prevenir el uso de secuencias de escape, nunca juntar la lógica de un sitio entremedio del código html (para eso se separa una página entre controladores y vistas), jamás hacer consultas sql dentro del mismo archivo php con contenido html, para eso existen los controladores (vease modelo mvc), nunca codificar variables antes de usarlas, siempre codificarlas en el mismo lugar donde se usará, siempre identar incluyendo parrafos y código y nunca sobrepasar una cierta longitud que provoque que se vea la barra de desplazamiento horizontal de mi editor de código a menos que sea por causa de muchas identaciones para muchas anidaciones, siempre comentar el código con /**/ y no con // porque la momento de querer compilar tendrás un dolor de cabeza gigante, además usas menos código, no tienes que comentar cada linea cuando quieres hacer comentarios con mas de una línea y se vería bastante feo la mitad del código comentado con Ç// y la otra mitad con /**/, asi que mejor uso todo con /**/, excepto cuando quieres hacer comentarios dentro de código comentado, nunca usar funciones de php obsoletas, nunca dejar visible el reporte de errores de php en producción, de preferencia usar boilerplate o initializr para comenzar los proyectos, etc.

Se ve muy interesante el Benchmark que pegaste, pero aun así prefiero usar puntos para concatenar :p

Saludos.

Graphixx

Cita de: WHK en  1 Septiembre 2014, 20:10 PM
Como es eso de partirlo? lo que debes hacer es acostumbrarte a identar los códigos estén en el legunaje que estén:
Código (php) [Seleccionar]
<?php
/* escribimos la sentencia MySQL */
$sentencia '
UPDATE '
.$tabla.
SET 
nombres = "'
.$nombres.'",
apellidos = "'
.$apellidos.'",
direccion = "'
.$direccion.'",
ciudad = "'
.$ciudad.'",
historial_clinico = "'
.$historial_clinico.'"
WHERE qr = "'
.$qr.'"
'
;

Esta era la solucion, barbaro, no sabia que podia dar saltos de linea en la consulta SQL jejeje, WHK sos el mejor!!!!
Nada tiene fin solo hay pequeñas pausas, pausas que determinan el comienzo de otros. Graphixx
Mi blog