PHP

Buenas prácticas en PHP – Excepciones

Posted by daniel on diciembre 07, 2011
PHP / 1 Comment

Situación:

PHP soporta manejo de excepciones, esto es bueno, pero peligroso.

Las excepciones son una gran herramienta para manejar situaciones excepcionales en la ejecución del código.

A menudo se usan mal las excepciones, y tendemos a abusar de ellas.

Las excepciones causan un poco de pérdida de memoria cuando son ejecutadas en algunas situaciones. Como por ejemplo:

Continue reading…

Buenas prácticas en PHP – E_STRICT

Posted by daniel on diciembre 07, 2011
PHP / No Comments

Situación:

Desde PHP 5.0 existe un nuevo nivel de error: E_STRICT

Esto nos fuerza a escribir código que sea compatible (“limpio”) con PHP 5.

Muy probablemente E_STRICT se convierta en E_FATAL en PHP 6

Existe mucho código que no es “E_STRICT” y que por tanto no es portable en su totalidad a sistemas usando PHP 5

Solución:

Usemos E_STRICT, y revisemos nuestro código en php.ini:

error_reporting=E_ALL | E_STRICT

Error típico encontrado usando E_STRICT: uso de is_a() en lugar de instanceof:

Problema

<?php
if(is_a($object, 'ClassName')) {
$object->algunMetodo();
}
?>

Solución

<?php
if($object instanceof ClassName) {
$object->algunMetodo();
}
?>

Buenas prácticas en PHP – “Tags” cortas son dañinas

Posted by daniel on diciembre 07, 2011
PHP / No Comments

PHP permite varias formas de marcar el comienzo del código:

Forma estándar:

<?php echo "Hola!"; ?>

Forma corta:

<? echo "Hola!"; ?>

o peor

<?="Hola!"; ?>

o peor aún:


<% echo “Hola!”; %>

Pero:

<? está reservado para declarar XML
<?= no es XML válido (<?php si lo es)
<% es para los que trabajan con ASP

Solución:

Usar siempre la forma estándar <?php y convertir todos los programas que tienen algo diferente ya que esta forma estándar tiene garantizado el soporte en versiones futuras, representa una instrucción de procesamiento válida en XML y es única en todos los programas PHP.

Buenas prácticas en PHP – Tipos de Datos

Posted by daniel on diciembre 07, 2011
PHP / No Comments

Asegurarse del tipo de dato

Situación: PHP no usa tipos estrictos

<?php
$foo = "1";
$bar = $foo + 1;
var_dump($foo, $bar);
?>

Resultado:

string(1) “1″
int(2)

… los operadores tampoco lo usan:

Continue reading…

Ejecutar Procedimiento Almacenado con PHP

Posted by daniel on agosto 13, 2009
PHP / 6 Comments

Cuando trabajamos con PHP y SQL Server hay veces que necesitamos ejecutar procedimientos almacenados.

IMPORTANTE: Debemos tener instalada la librería MSSQL

Continue reading…

Enviar Email con formato HTML en PHP

Posted by daniel on abril 24, 2009
PHP / 3 Comments

Creamos un formulario y la página encargada de procesar dicho formulario debería tener el siguiente código:

[codesyntax lang="php"]<?php
$headers = “MIME-Version: 1.0r n”;
$headers .= “Content-type: text/html; charset=iso-8859-1r n”;
$headers .= “From: “$nombre” <$emailwebmaster>r n”;
$headers .= “Reply-To: “$nombre” <$emailwebmaster>r n”;
$headers .= “X-Priority: 3r n”;
$headers .= “X-MSMail-Priority: Highr n”;
$headers .= “X-Mailer: Just My Server”;
?>
[/codesyntax]

Para que finalmente se envíe el Email con la siguiente sentencia:

Continue reading…

Acceder a una variable Static de una clase.

Posted by daniel on abril 04, 2009
PHP / No Comments

En este artículo de PHP sabremos como acceder a una variable Static que pertenece a una clase.

[codesyntax lang="php"]

<?php

class MiClase {

const MICONSTANTE = “El valor de mi variable constante”;

}

echo MiClase::MICONSTANTE;

?>[/codesyntax]

Así de fácil, ponemos el nombre de la clase que contiene la variable estática luego : (dos puntos) y el nombre de la variable.

Para llamar a métodos estáticos se hace de la misma forma, pero no olvidar poner los parámetros entre parentesis o solo los parentesis cuando la función no reciba parámetros.

Codificar con MD5 en PHP

Posted by daniel on abril 01, 2009
PHP / No Comments

Cuando queremos codificar una cadena de caracteres ya sea para realizar un sistema de registros de usuarios o para lo que necesites es muy fácil hacerlo.

Esta vez veremos como codificar usando la función md5 de PHP.

Por ejemplo.

[codesyntax lang="php"]

<?php

echo md5(“hola”);

?>[/codesyntax]

Nos mostraría 4d186321c1a7f0f354b297e8914ab240, esto significa que la función toma la cadena, la revuelve, cambia posiciones (obviamente es mucho mas complicado que eso) y devuelve esta nueva cadena.

En eso consiste una codificación.

Mostrar lo que hay en un Array

Posted by daniel on marzo 31, 2009
PHP / No Comments

Muchas veces cuando programamos en PHP, estamos constantemente imprimiendo el valor que tienen las variables.
Pero que pasa si cuando pones el siguiente código, te arroja como resultado “Array”.

[codesyntax lang="php"]

<?php

echo $variable;

?>

[/codesyntax]

Entonces para ver el contenido de ese Array lo mejor es lo siguiente:

[codesyntax lang="php"]

<?php

echo “<pre>”;

print_r($variable);

echo “</pre>”;

?>

[/codesyntax]

De esa forma es mas fácil visualizar como está organizada la información dentro del Array.

[PHP] Elegir conexión, Desarrollo o Servidor en tiempo de ejecución

Posted by daniel on marzo 31, 2009
PHP / No Comments

Una vez tuve un problema, cada vez que subía un archivo al servidor de producción tenía que cambiar los datos de conexion que había puesto para ejecutarlo en localhost o servidor de desarrollo.

Una solución rápida a este problema es:

Continue reading…