Comunidad PHPeros

Lenguajes => PHP => Tutoriales PHP => Mensaje iniciado por: nmartin021 en 30 de Julio de 2011, 16:11:54 pm

Título: [No acabado]Consejos para tus scripts[EDIT]
Publicado por: nmartin021 en 30 de Julio de 2011, 16:11:54 pm
Hola! :D

Este es mi primer tutorial 8)

Bueno, voy a enseñaros algunos 'trucos' para cuando programéis.

1.- Consejos sobre la utilización de las comillas
No es algo grave, pero vi que mucha gente hace esto:

<?php
$query = "SELECT * FROM `tabla` WHERE user_id='$user'";
?>

Eso no se debería hacer, porque las comillas dobles (que aceptan variables) son más lentas. En vez de eso, es mejor hacer así:

<?
$query = 'SELECT * FROM `tabla` WHERE user_id=\''.$user.'\'';
?>

¿Qué hice? Escapé la primera comilla así: \' luego puse la comilla que separa el texto de la variable, el punto y la variable. Luego, la comilla para unir la variable con el texto y, finalmente, otra comilla escapada. Y luego, otra para mostrar el final. Si no me entendeis, ejecutad este código y veréis cómo queda la consulta:

<?php
$query = $_GET['do'];
$sql = 'SELECT * FROM `tabla` WHERE user_id=\''.$query.'\'';
echo $query;
?>

Entrais al archivo asi: archivo.php?do=aquiUnUsuario... veréis que sale la consulta...

2.- Consejos al usar un editor
Bueno, hay muchos, pero yo personalmente uso Notepad++... si, ya sé que algunos dirán que Dw es mejor, pero no tiene por qué, Notepad++ es mucho más ligero (con más de 10 pestañas ocupa 14MB de RAM.. impresionante) y eso que soporta muchos lenguajes, no sólo los de programación web. Eso si, no tiene previsualización en vivo como Dw, pero usando localhost (xampp, wamp) se puede guardar el archivo (Ctrl + S) y recargar la página; sinceramente creo que no vale la pena gastar tantos recursos (además, mi PC no soporta Dw...) pudiendo usar algo gratuito e igual de bueno (con sus virtudes y sus defectos)
Aunque si haces tu web en el notepad de Windows, luego puedes presumir :P

3.- Usá CSS, es más rápido que las imágenes
Sí, el CSS carga por separado (gracias westwest) y es más ligero que las imágenes, por ende, carga más rápido la página, además de que con CSS es más cómodo y "universal".. con él puedes hacer de todo, desde una simple sombra hasta clonar una web hecha totalmente en Flash.
No, no es ninguna broma, puedes darle un look Flash a tu web con CSS (y Js, está claro), sin consumir tantos recursos (del navegador) así tu web será más ligera para los que tenemos PCs del siglo pasado :D

4.- Organiza tu código
Es muy importante organizar tu código, ya sea usando funciones (es decir, menos código) o usando el espacio suficiente, porque a la larga, haces un script grande y cuando lo acabas, ni te acuerdas de cuál es el primer archivo que hiciste, por no hablar del código. Y si no está bien organizado, te puedes matar buscando algo que tú creaste pero no está organizado.

Te ahorrarás mucho tiempo y esfuerzo, algo muy importante a la hora de pensar (a veces necesitas inventar algún modo de hacer algo y cuando se te ocurre el modo, no encuentras el sitio donde meterlo y se te olvida :( ). Y si lo liberas, imagínate lo que tardarán tus compañeros en sólo entender un archivo...


5.- Comenta tu script
Aunque no lo liberes, es importante que lo comentes... imagínate que el script lo acabas antes de lo que debes y cuando vayas a liberarlo / venderlo y te pidan explicación, probablemente habrás creado otros scripts y de éste ni te acordarás.... Por eso, simplemente añade notas a tus scripts, así te ahorras tiempo explicándole tu script a los demás ya que podrán leer los comentarios

6.- Usa localhost
Por mucho que uses FileZilla o cualquier otro programa de FTP, nunca te será tan fácil previsualizar tu script y hacerlo funcionar... ¿por qué? Porque con un simple 'Ctrl + S' guardas el archivo y recargas la página de localhost... además de que carga más rápido, es más cómodo para cuando no tengas conexión... no hace falta trabajar a "ciegas" (sin poder ver el script funcionando)

7.- No mezcles lenguajes
Es importante que no empieces a maquetar la web y en medio de la maquetación, empezar a crear el sistema, porque nunca te saldrá bien el trabajo. Yo hice un script y me centré en el sistema (PHP y MySQL) y cuando lo acabé, empecé a crear el estilo. Pero hasta entonces, todo era un fondo blanco, y a veces, algún formulario. Nada más.

Te lo digo porque empezar a pensar en Br, div y class y acabar pensando en echo y seguridad para el script sin antes haber acabado el diseño (o al revés) se te puede escapar algún form, o algún input (de registro, por ejemplo) y si justo acabas de publicar tu web así, cualquier kaker que ponga una comilla en tu registro, ya te puede kakear con la ayuda de los miles tutoriales que hay en Internet, por eso, si estás diseñando, acaba el diseño y luego, sigue con el sistema (o viceversa).



Bueno, eso es todo, iré poniendo más cosas según pase el tiempo  8)
PD: Si hay algo que está mal, avisadme D:
Título: Re:[No acabado]Consejos para tus scripts
Publicado por: GuayAngel12 en 30 de Julio de 2011, 17:03:50 pm
Yo por ejemplo, para la utilización de las comillas, no utilizo el método que posteaste, pero si algo parecidillo y me interesaría saber si está bien:


<?php
$query = mysql_query("SELECT usuarios FROM 'tabla' WHERE usuario = '".$user."'");
?>


Saludos!
Título: Re:[No acabado]Consejos para tus scripts
Publicado por: nmartin021 en 30 de Julio de 2011, 17:24:28 pm
Yo por ejemplo, para la utilización de las comillas, no utilizo el método que posteaste, pero si algo parecidillo y me interesaría saber si está bien:


<?php
$query = mysql_query("SELECT usuarios FROM 'tabla' WHERE usuario = '".$user."'");
?>


Saludos!
Si, está bien, pero te recuerdo que tu método es más lento, aunque separes las variables. ¿Por qué? Porque PHP, al ver que hay comillas dobles, empieza a buscar variables dentro y, encuentre o no, ya ha gastado un tiempo y memoria para buscar. En vez de eso, te recomiendo que uses las simples porque así PHP no busca variables, sólo considera variable lo que está fuera del string encerrado entre las comillas simples y eso ahorra tiempo y memoria RAM (recursos del servidor).

PD: Tu consulta está mal, porque los nombres de las columnas y los nombres de las tablas se encierran así:
`tabla` - `columna` - 'algun dato' ;)
PD2: No le veo el sentido a seleccionar los usuarios donde el usuario es $user... no tiene sentido.

Si necesitas algo más, aquí estoy :P
Título: Re:[No acabado]Consejos para tus scripts
Publicado por: GuayAngel12 en 30 de Julio de 2011, 17:29:02 pm
PD2: No le veo el sentido a seleccionar los usuarios donde el usuario es $user... no tiene sentido.

Era solo un mero ejemplo, de todas formas gracias por tu atención y tu tiempo para responder mi cuestión.

Saludos!
Título: Re:[No acabado]Consejos para tus scripts
Publicado por: westwest en 30 de Julio de 2011, 17:30:27 pm
A decir verdad, no es necesario encerrar los nombres de las tablas y columnas entre ``. Solo es necesario cuando el nombre de la tabla/campo/columna/... es una palabra reservada. Por ejemplo si tengo un campo llamado "desc" (de descripción) debo encerrarlo entre `` porque MySQL lo confundirá con DESC, la palabra reservada para el orden descendente.

Saludos
Título: Re:[No acabado]Consejos para tus scripts
Publicado por: nmartin021 en 30 de Julio de 2011, 20:19:55 pm
Era solo un mero ejemplo, de todas formas gracias por tu atención y tu tiempo para responder mi cuestión.

Saludos!
Jaja, perdon :P
A decir verdad, no es necesario encerrar los nombres de las tablas y columnas entre ``. Solo es necesario cuando el nombre de la tabla/campo/columna/... es una palabra reservada. Por ejemplo si tengo un campo llamado "desc" (de descripción) debo encerrarlo entre `` porque MySQL lo confundirá con DESC, la palabra reservada para el orden descendente.

Saludos
:O Ö
Pero yo igualmente seguiré usando esas comillas (que en realidad son tildes abiertas) porque, en cierto modo, te ayuda a 'identificar' los nombres, es decir, más organización en el script :D :P
Título: Re:[No acabado]Consejos para tus scripts
Publicado por: Physlet en 31 de Julio de 2011, 09:13:29 am
Jaja, perdon :P:O Ö
Pero yo igualmente seguiré usando esas comillas (que en realidad son tildes abiertas) porque, en cierto modo, te ayuda a 'identificar' los nombres, es decir, más organización en el script :D :P
Es igual, porque si sabes la sintaxis de una sentencia no te debe importar si lleva ' o no.
Título: Re:[No acabado]Consejos para tus scripts
Publicado por: ebuzz en 01 de Agosto de 2011, 03:07:58 am
cada quien  programa diferente, algunos más estrictos que otros, pero bueno  todo sea por el bien de los usuarios con su pentium 3 y 256 mb de ram :/

sigue poniendo mas consejos a muchos les servira :)
Título: Re:[No acabado]Consejos para tus scripts
Publicado por: nmartin021 en 01 de Agosto de 2011, 03:48:43 am
cada quien  programa diferente, algunos más estrictos que otros, pero bueno  todo sea por el bien de los usuarios con su pentium 3 y 256 mb de ram :/

sigue poniendo mas consejos a muchos les servira :)
Jaja, gracias ;)