Objetos en AngularJS

Los objetos en AngularJS son como los objetos en JavaScript:
<div ng-app="" ng-init="person={firstName:'Yunen',lastName:'Ramos'}">
  <p>Hello {{person.firstName}} {{person.lastName}}!</p>
</div>
Otra manera de hacerlo es la siguiente:
<div ng-app="" ng-init="person={firstName:'Yunen',lastName:'Ramos'}">
  <p>Hello <span ng-bind="person.firstName + ' ' + person.lastName"></span>!</p>
</div>
No es muy común usar ng-init. Aquí puede encontrar información general sobre las Expresiones en AngularJS.

String en AngularJS

Los String en AngularJS son como los String en JavaScript:
<div ng-app="" ng-init="firstName='Yunen';lastName='Ramos'">
  <p>Hello {{firstName}} {{lastName}}!</p>
</div>
Otra manera de hacerlo es la siguiente:
<div ng-app="" ng-init="firstName='Yunen';lastName='Ramos'">
  <p>Hello <span ng-bind="firstName + ' ' + lastName"></span>!</p>
</div>
No es muy común usar ng-init. Aquí puede encontrar información general sobre las Expresiones en AngularJS.

Envío de correos masivos desde PHP

Requisitos:

  • PHP
  • MySQL
  • PHPMailer

¿Que es PHPMailer?

Es una librería que permite poder enviar correos electrónicos de forma fácil, simple y efectiva desde correos SMTP, GMAIL o desde nuestro propio servidor de correo electrónico. Puedes descargar dicha librería aquí: https://github.com/Synchro/PHPMailer

Ejemplo básico:

  1. Crear la base de datos:
  2. --
    -- Base de datos: `dbMail`
    --
    create database dbMail;
    use dbMail;
    
    --
    -- Estructura de tabla para la tabla `person`
    --
    CREATE TABLE `person` (
      `idperson` int(11) NOT NULL,
      `nameperson` varchar(60) COLLATE utf8_unicode_ci NOT NULL,
      `emailperson` varchar(60) COLLATE utf8_unicode_ci NOT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
    
    --
    -- Indices de la tabla `person`
    --
    ALTER TABLE `person`
      ADD PRIMARY KEY (`idperson`);
    
  3. Llenar la base de datos.
  4. Descargamos desde https://github.com/Synchro/PHPMailer en formato zip (boton abajo a la derecha) la librería PHPMailer
  5. Descomprimimos la librería en la carpeta que utilizamos de HOST.
  6. Creamos nuestro script HTML/PHP
  7. <!DOCTYPE html>
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
            <title>PHPMailer - GMail SMTP Test</title>
        </head>
        <body>
            <?php
                // Libreria PHPMailer
                require './Resources/PHPMailer/PHPMailerAutoload.php';
                
                // Creamos una nueva instancia
                $mail = new PHPMailer();
     
                // Activamos el servicio SMTP
                $mail->isSMTP();
                // Activamos / Desactivamos el "debug" de SMTP (Lo activo para ver en el HTML el resultado)
                // 0 = Apagado 
                // 1 = Mensaje de Cliente 
                // 2 = Mensaje de Cliente y Servidor 
                $mail->SMTPDebug = 2; 
    
                // Log del debug SMTP en formato HTML 
                $mail->Debugoutput = 'html'; 
    
                // Servidor SMTP (para este ejemplo utilizamos gmail) 
                $mail->Host = 'smtp.gmail.com'; 
    
                // Puerto SMTP 
                $mail->Port = 587;
     
                // Tipo de encriptacion SSL ya no se utiliza se recomienda TSL 
                $mail->SMTPSecure = 'tls'; 
    
                // Si necesitamos autentificarnos 
                $mail->SMTPAuth = true; 
    
                // Usuario del correo desde el cual queremos enviar, para Gmail recordar usar el usuario completo (usuario@gmail.com) 
                $mail->Username = "gymcaobacr@gmail.com"; 
    
                // Contraseña 
                $mail->Password = "HolaAmigo"; 
     
                // Conectamos a la base de datos 
                //El orden es: dirección del host, usuario, contraseña, nombre de la base de datos.
                $db = new mysqli('localhost', 'root', '', 'dbMail'); 
    
                if ($db->connect_errno > 0) 
                {
                    die('Error connect: [' . $db->connect_error . ']'); 
                } 
    
                // Creamos la sentencias SQL 
                $result = $db->query("select nameperson,emailperson from person;");
    
                // Iniciamos el "bucle" para enviar multiples correos. 
                while($row = $result->fetch_assoc())
                { 
                    //Añadimos la direccion de quien envia el corre, en este caso 
                    //YARR Blog, primero el correo, luego el nombre de quien lo envia. 
                    $mail->setFrom('gymcaobacr@gmail.com', 'YARR Blog'); 
                    $mail->addAddress($row['emailperson'], $row['nameperson']); 
    
                    //La linea de asunto 
                    $mail->Subject = 'Welcome to YARR Blog!'; 
                    
                    /*
                     * Existen dos formas de mandar un correo:
                     * - Escribiendo el mensaje en un String y mandarlo. (Así se va hacer en el ejemplo).
                     * - Crear un HTML e ingresarlo Se haría así:
                     * $mail->msgHTML(file_get_contents('contenido.html'), dirname(__FILE__)); 
                     * PHPMailer permite insertar imágenes, css, etc.
                     * NOTA: No se recomienda el uso de JavaScript.
                     * 
                     * Mediante un String se haría así:
                     */
                    //Creamos el mensaje
                    $message = "Hello ".$row['nameperson'].", this is a email message from YARR Blog.";
                    
                    //Agregamos el mensaje al correo
                    $mail->msgHTML($message);
                    
                    // Enviamos el Mensaje 
                    $mail->send(); 
    
                    // Borramos el destinatario, de esta forma nuestros clientes no ven los correos de las otras personas y parece que fuera un único correo para ellos. 
                    $mail->ClearAddresses(); 
                }  
            ?>
        </body>
    </html>
    
  8. Corren dicho documento y debe generar un resultado HTML como el siguiente:
  9. Con el ejemplo anterior, a las personas les va a llegar un correo como el siguiente:
Pueden descargar el repertorio del ejemplo aquí.
Agradecimiento a CodeJobs.

Atributo title

El valor del atributo de título se mostrará como información al pasar el ratón sobre el elemento al que se aplica. Para este ejemplo se va aplicar a un párrafo:
<p title="¡Colocó el mouse sobre el texto!">Mi primer párrafo.</p>
Para verlo en ejecución pasa el mouse sobre el siguiente párrafo:
Mi primer párrafo.
Agradecimiento a W3C.

Elemento <pre>

Define texto preformateado.Ejemplo de uso:
<p>
  <pre>
    Este
    texto
    va
    aparecer
    con
    saltos
    de
    línea.
  </pre>
</p>
En el código anterior se hace uso del elemento <p>. El código anterior muestra un resultado como el siguiente:
El texto dentro de un elemento <pre> se muestra en una fuente de anchura fija (normalmente Courier) y conserva espacios y saltos de línea.
Agradecimiento a W3C.

Elemento <br>

Inserta un salto de línea. Ejemplo de uso:
<p>Mi primer párrafo.<br>Hice un salto de línea.</p>
En el código anterior se hace uso del elemento <p>.
Agradecimiento a W3C.

Elemento <p>

Define un párrafo. Ejemplo de uso:
<p> Mi primer párrafo.</p>
Nota: Los navegadores añaden automáticamente un espacio en blanco (un margen) antes y después de un párrafo.
El navegador eliminará los espacios adicionales y las líneas adicionales cuando se muestre la página.
Nota: Eliminar la etiqueta de fin puede producir resultados o errores inesperados.
Agradecimiento a W3C.

Atributo lang

  • El lenguaje del documento se puede declarar en la etiqueta <html>
  • El lenguaje es declarado con el atributo lang.
  • La declaración de un idioma es importante para las aplicaciones de accesibilidad (lectores de pantalla) y los motores de búsqueda.
Ejemplo de uso:
<!DOCTYPE html>
<html lang="es">
  <!--Aquí va el resto de elementos HTML-->
</html>
"es" especifica el idioma.
Agradecimiento a W3C.

Números en AngularJS

Los números en AngularJS son como los números en JavaScript:
<div ng-app="" ng-init="quantity=3;cost=5">
  <p>3x5={{ quantity * cost }}</p>
</div>
Otra manera de hacerlo es la siguiente:
<div ng-app="" ng-init="quantity=3;cost=5">
  <p>3x5=<span ng-bind="quantity * cost"></span></p>
</div>
No es muy común usar ng-init. Aquí puede encontrar información general sobre las Expresiones en AngularJS.

Expresiones en AngularJS

  • Las expresiones en AngularJS se pueden escribir dentro de llaves dobles: {{expression}}. 
  • También se puede escribir dentro de una directiva: ng-bind = "expression".
  • AngularJS resolverá la expresión y devolverá el resultado exactamente donde se escribe la expresión.
  • Las expresiones AngularJS son similares a las expresiones JavaScript: Pueden contener literales, operadores y variables.

Ejemplo:

<div ng-app="">
  <p>El resultado de 5+5={{5+5}}</p>
</div>
Otra manera de hacerlo es la siguiente:
<div ng-app="">
  <p>El resultado de 5+5=<span ng-bind="5+5"></span></p>
</div>

Expresiones AngularJS vs. Expresiones JavaScript

  • Al igual que las expresiones JavaScript, las expresiones AngularJS pueden contener literales, operadores y variables.
  • A diferencia de las expresiones JavaScript, las expresiones AngularJS se pueden escribir dentro de HTML.
  • Las expresiones AngularJS no admiten condicionales, bucles y excepciones, mientras que las expresiones JavaScript lo hacen.
  • Las expresiones AngularJS admiten filtros, mientras que las expresiones JavaScript no.