PHP Hypertext Pre-processor Originalmente se conocía como Personal Home Page.

33
PHP Hypertext Pre-processor Originalmente se conocía como Personal Home Page

Transcript of PHP Hypertext Pre-processor Originalmente se conocía como Personal Home Page.

Page 1: PHP Hypertext Pre-processor Originalmente se conocía como Personal Home Page.

PHP

Hypertext Pre-processor

Originalmente se conocía como Personal Home Page

Page 2: PHP Hypertext Pre-processor Originalmente se conocía como Personal Home Page.

Breve historia de PHP …

• Fue creado originalmente por Rasmus Lerdorf en 1994.

• Su implementación principal es producida por The PHP Group, www.php.net .

• Se considera un lenguaje libre por la Free Software Foundation.

• El lenguaje se encuentra instalado en más 20 millones de sitios web y en un millón de servidores.

Page 3: PHP Hypertext Pre-processor Originalmente se conocía como Personal Home Page.

¿Qué es PHP?

• Es un lenguaje de codigo abierto adecuado para desarrollo web (Open Source).

• Es un lenguaje que puede estar introducido o unido (embbeded) en páginas HTML.

• Diseñado para la creación de páginas web dinámicas.

• Permite crear aplicaciones complejas.• El lenguaje se ejecuta a nivel de servidor

(server-side scripting language).

Page 4: PHP Hypertext Pre-processor Originalmente se conocía como Personal Home Page.

Ejemplo básico de PHP

<html> <head> <meta charset="utf-8" /> <title> Ejemplo basico PHP</title> </head> <body> <?php echo 'Hola mundo'; ?> </body> </html>

Page 5: PHP Hypertext Pre-processor Originalmente se conocía como Personal Home Page.

Características de PHP

• Es considerado un lenguaje fácil de aprender.• El código fuente escrito en PHP es invisible al

navegador o “browser”.• Capacidad de conexión con la mayoría de los motores

de base de datos que se utilizan en la actualidad.• Posee una amplia documentación en su sitio web

oficial.• Es libre, por lo que se presenta como una alternativa

de fácil acceso para todos.• Se considera un lenguaje altamente eficiente.

Page 6: PHP Hypertext Pre-processor Originalmente se conocía como Personal Home Page.

Fortalezas de PHP

• Portabilidad – PHP esta disponible para diferentes sistemas operativos. Usualmente el código que se escribe para una plataforma, trabaja sin modificaciones en otra.

• Source Code – El programador tiene acceso al código fuente lo que permite hacer modificaciones sin la necesidad de esperar por actualizaciones ni preocuparse si el vendedor se va a quiebra y termina el apoyo al producto.

Page 7: PHP Hypertext Pre-processor Originalmente se conocía como Personal Home Page.

Fortalezas de PHP

• Apoyo a Objetos– La versión reciente (PHP 5) provee varias capacidades de este paradigma de programación.

• Costo – PHP es gratis. La última versión se puede bajar de: http://www.php.net

• Fácil de aprender – La sintaxis de PHP es similar a la de C. Por lo tanto si uno conoce cualquier lenguaje similar a C (Java, C++, C#) puede aprender PHP rápidamente.

Page 8: PHP Hypertext Pre-processor Originalmente se conocía como Personal Home Page.

Sintaxis básica de PHP• El código de php comienza con <?php y termina

con ?>.• Lo que no esté dentro del tag de PHP se

considera HTML. • Las instrucciones se separan terminando cada

sentencia con un punto y coma (;).• Soporta comentarios de una linea (//),

multilineas (/* --------------- */) y (#) shell de Unix.• Dependiendo del contexto en que use la

variable, PHP decide el tipo de la variable.

Page 9: PHP Hypertext Pre-processor Originalmente se conocía como Personal Home Page.

Sintaxis básica de PHP

• Los espacios en blanco al igual que en HTML no afectan la ejecución del código ni el resultado en pantalla.

Page 10: PHP Hypertext Pre-processor Originalmente se conocía como Personal Home Page.

Definición de Variables en PHP• Las variables en PHP comienzan con el signo de dólar ($).• De acuerdo a la versión y configuración del PHP que se

tenga en el servidor, podemos recoger los valores de las variables en tres formas.

• Ejemplo: $tireqty = $_POST['tireqty'];• Short style ($tireqty)– Corto y conveniente, pero requiere

que se active la opción register_globals. Se puede compromete la seguridad y no se le da soporte.

• Medium style ($_POST[‘tireqty’]) – Recomendado por el libro.

• Long style ($HTTP_POST_VARS[‘tireqty’]) – Es el más largo, pero el más portable. Si se desactiva, mejora el rendimiento de la ejecución del código. No se recomienda.

Page 11: PHP Hypertext Pre-processor Originalmente se conocía como Personal Home Page.

Tipos de variables

• Booleano - Cierto o Falso• Arrays - $a[0] = “abc”; $a[1] = “def”;• Numeros en punto flotante - $a = 1.234; • Enteros - $a = 1234;• Objeto - $bar = new obj;• Cadena - $str = “Esto es una cadena”;

Las variable no se tienen que definir, el mismo lenguaje lo decide en tiempo de ejecución dependiendo del contexto en que se utilice la variable.

Page 12: PHP Hypertext Pre-processor Originalmente se conocía como Personal Home Page.

Operadores Aritméticos

• $a + $b adición , suma de $a y $b• $a - $b substracción, resta entre $a y $b• $a * $b multiplicación, producto de $a y $b• $a / $b división, cociente de $a entre $b• $a % $b módulo, resto de $a dividido entre $b

Page 13: PHP Hypertext Pre-processor Originalmente se conocía como Personal Home Page.

Operadores de comparación$a == $b igualdad, cierto si $a es igual a $b$a ===$b igualdad exacta , cierto si el valor y el tipo son

iguales mismo tipo$a != $b desigualdad, cierto si a$ no es igual $b$a !== $b desigualdad exacta, cierta si el valor o el tipo

son distintos.$a < $b menor que, cierto si $a es menor que $b$a > $b mayor que, cierto si $a es mayor que $b

Page 14: PHP Hypertext Pre-processor Originalmente se conocía como Personal Home Page.

Operadores de comparación

$a <= $b menor o igual que, cierto si $a es menor o igual que $b$a >= $b mayor o igual que, cierto si $a mayor o igual que $b

Page 15: PHP Hypertext Pre-processor Originalmente se conocía como Personal Home Page.

Operadores lógicos• $a and $b cierto, si tanto $a como $b son ciertos• $a or $b cierto, si $a o $b son ciertos• $a xor $b cierto, si $a es cierto o $b es cierto, pero no ambas• !$a cierto si $a no es cierto, negación• $a&&$b cierto si tanto $a como $b son ciertos• $a || $b cierto si $a o $b son ciertos

Page 16: PHP Hypertext Pre-processor Originalmente se conocía como Personal Home Page.

Operadores de incremento o decremento

• ++$a preincremento, incrementa $a en uno y despues devuelve $a. • $a++ postincremento, devuelve $a y luego incrementa $a en uno.• --$a predecremento, decrementa $a en uno y despues devuelve $a. • $a-- postdecremento, devuelve $a y luego decrementa $a en uno.

Page 17: PHP Hypertext Pre-processor Originalmente se conocía como Personal Home Page.

Expresiones en PHP• $b = $a = 5; /* asigna valor 5 a $a y $b */• $c = $a++; /* postincremento, asigna valor original de $a (5) a $c */• $e = $d = ++$b; /* preincremento, asigna el valor incrementado de $b (6) a $d y $e */• $f = double($d++); /* asignar el doble del valor de $d antes del incremento, 2 * 6 = 12 a $f */

Page 18: PHP Hypertext Pre-processor Originalmente se conocía como Personal Home Page.

Expresiones en PHP

• $g = double(++$e); /* asignar el doble del valor de $e despues del incremento 2 * 7 = 14 a $g */• $h = $g += 10; /* $g se incrementa en 10 y termina como 24 y $h tambien */

Page 19: PHP Hypertext Pre-processor Originalmente se conocía como Personal Home Page.

Ejercicio

<?phpecho “<h3>POSTINCREMENTO</h3>”;$a = 5;echo “Debería ser 5: “ . $a++ . ”<br>\n”;echo “Debería ser 6: “ . $a . ”<br>\n”;

echo “<h3>PREINCREMENTO</h3>”;$a = 5;echo “Debería ser 6: “ . ++$a . ”<br>\n”;echo “Debería ser 6: “ . $a . ”<br>\n”;

Page 20: PHP Hypertext Pre-processor Originalmente se conocía como Personal Home Page.

echo “<h3>POSTDECREMENTO</h3>”;$a = 5;echo “Debería ser 5: “ . $a-- . ”<br>\n”;echo “Debería ser 4: “ . $a . ”<br>\n”;

echo “<h3>PREDECREMENTO</h3>”;$a = 5;echo “Debería ser 4: “ . --$a . ”<br>\n”;echo “Debería ser 4: “ . $a . ”<br>\n”;

?>

Page 21: PHP Hypertext Pre-processor Originalmente se conocía como Personal Home Page.

Arreglos en PHP – arrays()

• Arrays numéricos – el índice es numérico, de 0 en adelante

• Ejemplo de un array en cadena$ciencias = array(“Física”,”Química”,”Biología”);• Ejemplo de un array por índice $ciencias[0] = “Física”; $ciencias[1] = ”Química”; $ciencias[2] = ”Biología”;

Page 22: PHP Hypertext Pre-processor Originalmente se conocía como Personal Home Page.

Arreglos en PHP – arrays()

• Ejemplo de un array uno tras otro $ciencias[ ] = “Física”; $ciencias[ ] = ”Química”; $ciencias[ ] = ”Biología”;

• Para consultar un valor print $ciencias[0];

Page 23: PHP Hypertext Pre-processor Originalmente se conocía como Personal Home Page.

Arreglo multidimensional

A | B | C | D | E | F G | H | I | J | K | L $array[0][0] = A $array[0] = array que contiene los valores A | B | C | D | E | F $array[1] = array que contiene los valores G | H | I | J | K | L $array[0][1] = B, $array[0][2] = C, $array[0][3] = D

Page 24: PHP Hypertext Pre-processor Originalmente se conocía como Personal Home Page.

Ejemplo de rellenar una tabla de multiplicar como matriz usando for

$columnas = 7; $filas = 3;

for($i=0; $i < $columnas; $i++) {

for($j=0; $j < $filas; $j++) {

$matriz[$i][$j] = $i * $j; }

}

Page 25: PHP Hypertext Pre-processor Originalmente se conocía como Personal Home Page.

Crear ambiente para ejercicio

• Entrar a vcl.uprm.edu• Presionar “PROCEED TO LOGIN”• USERID: test1, PASSWORD: test1• Presionar “NEW RESERVATION”• Escoger “CentOS_63_64b_LAMP”, Duración: 2• Esperar y luego presionar “CONNECT”• Copiar el IP, userid y password• Conectar con PUTTY.EXE

Page 26: PHP Hypertext Pre-processor Originalmente se conocía como Personal Home Page.

Instalación de PUTTY

• Ir a ftp.uprm.edu• Seleccionar el fichero “SOFTWARE”• Escoger PUTTY.EXE• Para conectar al area:

1) host: entrar el IP2) seleccionar “SSH”3) login: dado anteriormente4) password: dado anteriormente

Page 27: PHP Hypertext Pre-processor Originalmente se conocía como Personal Home Page.

Comenzar a editar

• Editar con: nano index.php• Revisar errores: php -l index.php• Copiar : sudo cp index.php /var/www/html/• Editar: sudo nano /var/www/html/index.php• Ver resultado en un “browser”:

1) escribir: IP/index.php

Page 28: PHP Hypertext Pre-processor Originalmente se conocía como Personal Home Page.

Ejercicio <html> <head> <title> PHP </title> </head> <body> <h1> Mi primer script en PHP </h1><?php echo ’<p> Hola Mundoooooo! </p>’; echo date('H:i, jS F'); echo '</p>'; $a = “Estoy en el “; $b = $a . “COLEGIO!”; // Ahora $b contiene “Estoy en el COLEGIO!”?> </body></html>

Page 29: PHP Hypertext Pre-processor Originalmente se conocía como Personal Home Page.

Ejercicio con formulario

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html;charset=iso-8859-1" /> <title>If-Elseif-Else Construction</title> </head> <body> <h2>Days of the Week</h2> <!-- http://phpexercises.com/php-if-elseif-else-exercise.html -->

Page 30: PHP Hypertext Pre-processor Originalmente se conocía como Personal Home Page.

Continuación …<?php $html1 = "Laugh on "; if ( !isset ( $_POST['submit'] ) ) { //me enviaron una forma?> <form action = "./index.php" method = "post"><p>Enter a day of the week: <br><input type = "text" name = "day"></p> <p><input type="submit" name="submit" value="Submit"></p>

Page 31: PHP Hypertext Pre-processor Originalmente se conocía como Personal Home Page.

Continuación … </form> <?php

} else { if ( isset ( $_POST['day'] ) && strlen ( trim ( $_POST['day'] ) ) > 0 ) { $day = $_POST['day']; if ( $day == 'Monday' || $day == 'monday' ) { print $html1 . $day . ", laugh for danger."; } elseif ( $day == 'Tuesday' || $day == 'tuesday' ) { print $html1 . $day . ", kiss a stranger."; } elseif ( $day == 'Wednesday' || $day == 'wednesday' ) { print $html1 . $day . ", laugh for a letter."; } elseif ( $day == 'Thursday' || $day == 'thursday' ) { print $html1 . $day . ", something better."; } elseif ( $day == 'Friday' || $day == 'friday' ) { print $html1 . $day . ", laugh for sorrow.";

Page 32: PHP Hypertext Pre-processor Originalmente se conocía como Personal Home Page.

Termina ejercicio …

} elseif ( $day == 'Saturday' || $day == 'saturday' ) {

print $html1 . $day . ", joy tomorrow."; } elseif ( $day == 'Sunday' || $day == 'sunday' ) { print "No information for that day."; } else { print "This is not a day of the Week."; } } else { print "You need to enter a day of the Week."; } } ?> </body></html>

Page 33: PHP Hypertext Pre-processor Originalmente se conocía como Personal Home Page.

Ya usted es un programador …