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

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

Embed Size (px)

Citation preview

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 …