Envió de Correo Electrónico:
$nombre_origen =
"Venezuela Comercial";
$email_origen = "admin@venezuelacomercial.com.ve";
$email_copia = "microsoft@curso.copia.com";
$email_ocultos = "venehosting@hotmail.com";
$email_destino = "destino@gmail.com";
$asunto = "Emails desde Pagina Web";
$mensaje = '<center><b>ESTE ES UN MENSAJE
EN HTML</b><center><br>probando el envio de email';
$formato = "html";
//*****************************************************************//
$headers = "From: $nombre_origen
<$email_origen> \r\n";
$headers
.= "Return-Path: <$email_origen> \r\n";
$headers
.= "Reply-To: $email_origen \r\n";
$headers
.= "Cc: $email_copia \r\n";
$headers
.= "Bcc: $email_ocultos \r\n";
$headers
.= "X-Sender: $email_origen \r\n";
$headers
.= "X-Mailer: Enviado con Script de: CURSOS SAIT \r\n";
$headers
.= "X-Priority: 3 \r\n";
$headers
.= "MIME-Version: 1.0 \r\n";
$headers
.= "Content-Transfer-Encoding: 7bit \r\n";
$headers
.= "Disposition-Notification-To: \"$nombre_origen\"
<$email_origen> \r\n";
//*****************************************************************//
if($formato
== "html")
{ $headers .= "Content-Type: text/html;
charset=iso-8859-1 \r\n"; }
else
{ $headers .= "Content-Type:
text/plain; charset=iso-8859-1 \r\n";
}
if (mail($email_destino,
$asunto, $mensaje, $headers))
{ echo "Mensaje Enviado"; }
else
{ echo "Mensaje NO enviado"; }
Clases y Objetos
class
La definición
básica de clases comienza con la palabra clave class, seguido por un
nombre de clase, continuado por un par de llaves que encierran las definiciones
de las propiedades y métodos pertenecientes a la clase.
<?php
class
SimpleClass
{
// Declaración de la propiedad
public
$var
=
'a default value'
;
// Declaración del método
public function
displayVar
() {
echo
$this
->
var
;
}
}
?>
Creación de una instancia
new
Para crear una instancia
de una clase, la palabra clave new debe ser usada. Un objeto siempre se
creará a menos que el objeto tenga un constructor que
arroje una excepción
en caso de error. Las clases deberían ser definidas antes de la instanciación
(y en algunos casos esto es un requerimiento).
Si una string
que contiene el nombre de una clase se usa con new, una nueva instancia
de esa clase será creada. Si la clase está en un espacio de nombres, su nombre
completamente cualificado se debe usar cuando se hace esto.
<?php
$instance
= new
SimpleClass
();
// Esto también se puede hacer con variables:
$className
=
'Foo'
;
$instance
= new
$className
();
// Foo()
?>
Herencia simple de clases
extends
Una clase puede heredar
los métodos y propiedades de otra clase al utilizar la palabra clave extends
en la declaración de la clase. No es posible extender múltiples clases; una
clase sólo puede heredar de una clase base.
Los métodos y
propiedades heredados pueden ser sobrescritos con la redeclaración de éstos
utilizando el mismo nombre que en la clase parent. Sin embargo, si la clase
parent definió un método como final, éste no
podrá ser sobrescrito. Es posible acceder a los métodos sobrescritos o
propiedades estáticas referenciándolos con parent::.
Cuando se sobrescriben
métodos, la cantidad y disposición de los parámetros debería ser la misma o PHP
generará un error a nivel de E_STRICT. Esto no se aplica a los constructores, que permiten la sobrescritura
con diferentes parámetros.
<?php
class
ExtendClass
extends
SimpleClass
{
// Redefinición del método parent
function
displayVar
()
{
echo
"Clase extendida\n"
;
parent
::
displayVar
();
}
}
$extended
= new
ExtendClass
();
$extended
->
displayVar
();
?>
Auto-carga de Clases
Muchos desarrolladores
que escriben aplicaciones orientadas a objetos crean un archivo fuente PHP para
cada definición de clase. Una de las mayores molestias es tener que hacer una
larga lista de includes al comienzo de cada script (uno por cada clase).
En PHP 5, esto ya no es
más necesario. Se puede definir una función __autoload la cual es
automáticamente invocada en caso de que esté intentando utilizar una
clase/interfaz que todavía no haya sido definida. Al invocar a esta función el
motor de scripting está dando una última oportunidad de cargar la clase antes
que PHP falle con un error.
<?php
function
__autoload
(
$class_name
) {
include
$class_name
.
'.php'
;
}
$obj
= new
MyClass1
();
$obj2
= new
MyClass2
();
?>
Constructores y
Destructores
Constructores
PHP 5 permite a los desarrolladores declarar
métodos constructores para las clases. Aquellas que tengan un método
constructor lo invocarán en cada nuevo objeto creado, lo que lo hace idóneo
para cualquier inicialización que el objeto pueda necesitar antes de ser usado.
Destructor
void __destruct ( void )
PHP 5 introduce un concepto de destructor similar
al de otros lenguajes orientados a objetos, tal como C++. El método destructor
será llamado tan pronto como todas las referencias a un objeto en particular
sean removidas, cuando es explícitamente destruido o en cualquier otra
circunstancia de finalización.
Fin del Curso de PHP Espero les allá servido