Archivo de Noviembre 2007|Página de archivo por mes

Diferentes tipos de IF

// Este tipo es el más utilizado y como se ve sirve
if ($variable == ‘es’)
{
echo ‘Hola mundo’;
// ….resto de procesos
}
elseif ($variable == ‘en’)
{
echo ‘Hellow world’;
// ….resto de procesos
}
else
{
echo ‘Hola mon’;
// ….resto de procesos
}

// Se utiliza este modo cuando sólo tenemos que hacer un proceso por opción quitando los corchetes
if ($variable == ‘es’) echo ‘Hola mundo’;
elseif ($variable == ‘en’) echo ‘Hellow world’;
else echo ‘Hola mon’;

// Aquí vemos el caso menos utilizado. Solo se utiliza cuando tenemos 2 opciones sino es una es la otra.
$variable == ‘es’ ? $mensaje = ‘Hola mundo’ : $mensaje = ‘Hellow world’;
echo $mensaje;

Introducción a Zend_Mail

Zend_Mail provee funcionalidad para componer y enviar mensajes de correo electrónico tanto de texto como multipart –compatible con MIME-. Los correos electrónicos pueden ser enviados con Zend_Mail y el transporte por defecto Zend_Mail_Transport_Sendmail o por vía Zend_Mail_Transport_Smtp.

Ejemplo

Enviando correo electrónicos con Zend_Mail

Un correo electrónico simple consiste de algunos destinatarios, un titulo, un cuerpo y un remitente. Para enviar ese correo usando Zend_Mail_Transport_Sendmail, haz lo siguiente:

<?php
require_once ‘Zend/Mail.php’;
$mail = new Zend_Mail();
$mail->setBodyText(‘Este es el cuerpo del mensaje.’);
$mail->setFrom(‘remitente@ejemplo.com’, ‘Remitente’);
$mail->addTo(‘destinatario@ejemplo.com’, ‘Destinatario’);
$mail->setSubject(‘Titulo de prueba’);
$mail->send();
?>

Requisitos mínimos
Con objetivo de enviar el correo con Zend_Mail necesitas especificar al menos un destinatario, un remitente (con setFrom()), y un cuerpo de mensaje (texto y/o HTML).

Para la mayoría de los atributos hay getters (métodos “get”) para leer información almacenada en el objeto de correo. Para información detallada, refiérase a la documentación del API. Un método especial es getRecipients(). Devuelve un array con todos los direcciones de correo de los destinatarios que fueron agregadas previamente a la llamada de este método.

Por razones de seguridad, Zend_Mail filtra todos los campos de encabezado para prevenir inyecciones con caracteres de nueva línea.

También puedes usar la mayoría de los métodos de Zend_Mail con una cómoda y fluida interfase. Una interfase fluida significa que cada método devuelve una referencia al objeto donde fue llamado, así que puede llamar a otro método inmediatamente.

<?php
require_once ‘Zend/Mail.php’;
$mail = new Zend_Mail();
$mail->setBodyText(‘This is the text of the mail.’)
->setFrom(’somebody@example.com’, ‘Some Sender’)
->addTo(’somebody_else@example.com’, ‘Some Recipient’)
->setSubject(‘TestSubject’)
->send();
?php>

Configurando el transporte por defecto, sendmail

El transporte por defecto para la instancia de Zend_Mail es Zend_Mail_Transport_Sendmail. Basicamente es un envoltorio de la función mail() de PHP. Si quieres pasar parámetros adicionales a la función mail(), simplemente crea una nueva instancia del transporte y pasa los parámetros a sus constructor. La instancia del nuevo transporte puede entonces actuar como el transporte por defecto de Zend_Mail, o puede ser pasado al metodo send() de Zend_Mail.

Ejemplo.

Pasando parámetros adicionales al transporte Zend_Mail_Transport_Sendmail.

Este ejemplo muestra como cambiar el “Return-Path” de la función mail().

<?php
require_once ‘Zend/Mail.php’;
require_once ‘Zend/Mail/Transport/Sendmail.php’;
$tr = new Zend_Mail_Transport_Sendmail(‘-freturn_to_me@example.com’);
Zend_Mail::setDefaultTransport($tr);
$mail = new Zend_Mail();
$mail->setBodyText(‘This is the text of the mail.’);
$mail->setFrom(’somebody@example.com’, ‘Some Sender’);
$mail->addTo(’somebody_else@example.com’, ‘Some Recipient’);
$mail->setSubject(‘TestSubject’);
$mail->send();
?php>


Restricciones en modo seguro (“Safe mode”)
Los parámetros adicionales opcionales causaran que la función mail() falle si PHP esta ejecutándose en modo seguro.

PHP 5.2.5 Released

El pasado 8 de noviembre vio la luz la nueva release de PHP 5.2.5 con solución a mas de 60 bugs de versiones anteriores.

PHP 5.2.5 Release Announcement
ChangeLog

¡Y todo esto a la espera de la prometedora 5.3 y sus namespaces!

Variables temporales en PHP (estilo Perl)

Puede suceder que cuando escribimos código, sobretodo cuando trabajamos con código de otros, tengamos problemas a la hora de nombrar las variables. Se podría dar el caso de que sobrescribiéramos alguna variable existente o de alcance global. Normalmente estas variables serán simplemente variables temporales.
Es difícil elegir nombres para todas las variables temporales. Generalmente se desea un nombre corto y conciso, pero es probable que esos mismos nombres se hayan usado para otros propósitos. Sin embargo con ${‘…’} podemos usar cualquier cadena como nombre de variable. Los números son automáticamente convertidos a cadenas.
Ejemplo:

${0} = fwrite($fh, 'Test');
if (!${0}) throw new Exception("Writing the file has failed");
if ((${0} = pathinfo('/var/www/index.html')) && ${0}['extension'] === 'html')
echo "Yes boys and girls";

Fuente: http://blog.adaniels.nl/?p=58

Màrius Armenteras Comellas