shortcuts: programación PHP
Nunca les pasó que se mezclan los lenguajes de programación y a veces no recuerdan como usar una estructura, o como crear un objeto, o cuáles variables o funciones usar para acceder a ciertos datos? bueno a mi si, y siempre quise tener una referencia rápida con todos estos datos.
Es por eso que se me ocurrió crear un nuevo shortcut, uno donde cuente con la sintaxis básica de los lenguajes que utilizo. La idea comenzó porque me veo forzado a aprender un poco de ASP y ASP.Net, y tener acceso rápido a la sintaxis me ahorraría mucho tiempo de navegación.
Toda la información que posteo la pueden encontrar en cualquier tutorial del correspondiente lenguaje, pero siempre están separados en varias hojas y con explicaciones de para qué sirve cada estructura.
Mi idea es crear un shortcut con ejemplos, pero sin explicaciones (o con explicaciones muy cortas). Osea, si sabes programar no necesitas que te expliquen para qué sirve cada cosa.

En esta entrega les traigo un shortcut de programación PHP. Justamente PHP es el lenguaje que más utilizo y conozco así que escribí casi todo sin necesidad de buscar. Más adelante espero entregar versiones similares de lenguajes que no conozco tanto, como ASP.Net y JSP... vengo a full con la auditoría de aplicaciones Web y necesito aprender bastante.

En fin, espero que les resulte de utilidad... algo para tener a mano cada vez que van a programar =)

- Tag indicador de código php:
<?php ... codigo ... ?>
- imprimir mensajes:
print "mensaje";
echo "mensaje";
- concatenador de strings: . (punto)

- condiciones:
or: ||
and: &&
not: !
igual: ==
distinto: !=
menor: <
menor igual: <=
mayor: >
mayor igual: >=
- if-then-else
if( condicion )
{
//si es true hacer esto
}
elseif( condicion2 )
{
//hacer esto otro
}
else
{
//hacer esto ultimo
}
- switch:
switch( $variable )
{
case valor1:
//hacer algo
break;

case valor2:
//hacer otra cosa
break;
...
...
default:
//hacer esto en el caso de que no coincida nada de lo anterior
break;
}
- funciones/procedimientos:
function ejemplo($par1, $par3, ... $parn)
{
//codigo
...
...
}

//llamar a la funcion
ejemplo($par1, $par2, ..., $par3);
- formas de incluir otros scripts:
include("other.php");
include_once("other.php"); //si el archivo ya se incluyó en una llamada anterior, no se vuelve a incluir

require("other.php"); //igual a include, pero arroja un error FATAL si no encuentra el archivo
require_once("other.php"); //si el archivo ya se incluyó en una llamada anterior, no se vuelve a incluir
- arreglos:
- crear arreglo:
$miarreglo = array();
- obtener/setear valores:
$miarreglo[0] = "demasiadovivo";
$name = miarreglo[0];
- agregar elemento:
$miarreglo[] = "d3m4s1@d0v1v0";
- arreglos asociativos:
$miarreglo["name"] = "demasiadovivo";
$name = $miarreglo["name"];
- loops:
- while:
while ( condicion )
{
//hacer algo
}
- for:
for ( valor-inicial; condicion; incremento)
{
//hacer algo
}
ejemplo:
for ($i=0; $i<100; $i++)
{
//hacer algo
}
- para recorrer arreglos asociativos, usamos foreach
foreach ($miarreglo as $key => $value)
{
//$key almacena el valor la posición del arreglo y $value el valor
}
otra forma:
foreach ($miarreglo as $value)
{
//obtenemos cada valor almacenado en el arreglo
}
- do..while (siempre se ejecuta al menos una vez)
do
{
//hacer algo
} while ( condicion );
- obtener parámetros GET (usar el arreglo $_GET):
$name = $_GET['name']
- obtener parámetros POST (usar el arreglo $_POST):
$name = $_POST['name']
- cookies:
- setear cookie:
setcookie("name", "demasiadovivo", $ttl);
- obtener cookie:
$name = $_COOKIE['name'];
- sesiones:
- iniciar una sesión:
session_start();
- obtener/setear variable de sesión (usar arreglo $_SESSION - acordarse de incluir la llamada a función session_start() al principio del script):
$_SESSION['name'] = "demasiadovivo";
$name = $_SESSION['name'];
- terminar sesión:
session_destroy();
- archivos:
- abrir archivo:
$f = fopen("archivo.txt", $modo);
donde $modo puede ser
"r" solo lectura
"w" solo escritura
"a" append
"r+" lectura y escritura. Cuando abrimos el archivo el puntero está al inicio de éste.
"w+" igual a r+ pero borra el contenido del archivo cuando lo abre
"a+" igual a r+ excepto que deja el puntero al final del archivo
- leer desde el archivo:
$dato = fread($f, $size);
donde $size indica la cantidad de caracteres a leer.

$dato = fgets($f);
lee de a una linea. Lee caracteres hasta encontrar un enter.
- escribir en archivo:
$dato = "cualquier dato";
fwrite($f, $dato);
- cerrar archivo:
fclose($f);
- clases y objetos:
class ejemplo
{
//constructor
function __construct($par1, $par2, ..., $parn)
{
}

//destructor
function __destruct($par1, $par2, ..., $parn)
{
}
}

- crear clase
$ex = new ejemplo($par1, $par2, ..., $parn)
- setear/acceder atributo
$ex->name = "demasiadovivo";
$name = $ex->name;
- llamar función
$ex->algunafuncion($par1, $par2, ..., $parn);
- visibilidad:
public - visible por todos
protected - visible para los objetos que heredan el atributo o la función
private - visible solamente para la clase
- acceder a métodos estáticos/constantes
$name = $ex::name_estatico;
$ex::algunafuncionestatica($par1, $par2, ..., $parn);
- herencia:
class ejemplo extends ejemplito

donde ejemplo hereda de ejemplito
- comparaciones entre objetos:
obj1 == obj2 //verifica que ambos objetos tengan tengan los mismos atributos, los mismos valores y son instancia de la misma clase.
obj1 === obj2 //verifica que ambos sean el mismo objeto, osea, que ambas variables referencien a la misma instancia de la misma clase.
- clases/funciones abstractas:
abstract class ejemplo_abstracto
{
abstract function funcion_abstracta();
}
- interfaces:
interface ejemplo_interfaz
{
...
...
}

class ejemplo_implementador implements ejemplo_interfaz
{
//la clase debe implementar todos los métodos de la interfaz
}


Referencias

- PHP Manual
- PHP Tutorial (tizag)

3 comentarios:

JaviZ dijo...

Muy útil este post, seguro varios vendremos de visita de tanto en tanto para recordar estas cuestiones sintácticas.

Se vemos,
J

Nacho dijo...

Como dijo Javier, este post es de gran utilidad.

A este tipo de resúmenes se los suelen llamar (o conocer) como Quick Refence, dejo uno aleatorio de PHP: http://www.digilife.be/quickreferences/QRC/PHP%20Cheat%20Sheet.pdf

Saludos!

d3m4s1@d0v1v0 dijo...

Gracias Nacho por la referencia!
Yo tengo un par similares a esos sobre C y Assembler, son realmente muy útiles.

Publicar un comentario