Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Qu es PHP?
El ciclo web
1 4
navegador solicitud respuesta servidor web
presentacin
proceso
respuesta web
El contenido del documento .html es pasado tal cual a la respuesta HTML
HTML
servidor web
.html
HTML
.php
respuesta web
servidor web
base de datos
archivos
grficos
etc
Por qu PHP?
Es ampliamente soportado por los servicios de hosting Es libre Un nmero significativo de sites se ha escrito en PHP (Wikipedia , YouTube, Yahoo, Facebook, WordPress) Muchos paquetes importantes estn escritos en PHP (WordPress, OS Commerce, Joomla, Drupal) Es simple, directo, flexible Ha evolucionado para soportar programacin orientada a objetos
Hola Mundo!
hola_mundo.php
Hola Mundo!
hola_mundo.php
htdocs
Hola Mundo!
htdocs
htdocs/index.php
htdocs/hola_mundo.php
http://localhost/index.php
http://localhost/hola_mundo.php
Hola Mundo!
http://localhost/hola_mundo.php
servidor web
Hola Mundo! <?php echo 'Hola Mundo!'; ?>
navegador
HTML
.php
Hola Mundo!
hola_mundo.php
<html> <body> <h1> <?php echo 'Hola Mundo!';?> </h1> </body> </html>
Un documento php es bsicamente html con cdigo inserto Los bloques php se reemplazan por su resultado
Hola Mundo!
<html> <body> <h1> Hola Mundo! </h1> </body> </html>
Cuadrados
cuadrados.php
<html> <body> <h1>Cuadrados</h1> <table border="1"> <?php for ($i=1; $i<=10; $i++) { ?> <tr> <td><?php echo $i;?></td> <td><?php echo $i*$i;?></td> </tr> <?php } ?> </table> </body> </html>
Cuadrados
<html> <body> <h1>Cuadrados</h1> <table border="1"> <tr> <td>1</td> <td>1</td> </tr> <tr> <td>2</td> <td>4</td> </tr> <tr> <td>10</td> <td>100</td> </tr> </table> </body> </html>
Conociendo PHP
formularios
Hola T
hola_form.php
<html> <body> <form action="hola.php" method="post"> Nombre: <input type="text" name="nombre"/> <input type="submit" value="OK"/> </form> </body> </html>
Hola T
hola.php
<html> <body> <h1> <?php echo 'Hola '.$_POST['nombre'].'!';?> </h1> </body> </html>
Hola T
http://localhost/hola_form.php
<form>...</form>
<form>...</form>
navegador
action=hola.php
nombre=Antonio
servidor web
hola_form.php
Hola Antonio!
HTML
hola.php
Hola T
<html> <body> <?php $nombre = isset($_POST['nombre'])?$_POST['nombre']:''; ?> <form action="hola_tu.php" method="post"> Nombre: <input type="text" name="nombre" value="<?php echo $nombre;?>"/> <input type="submit" value="OK"> </form> <?php if ($nombre) { echo '<h1>Hola '.$nombre.'!</h1>'; }?> </body> </html>
hola_tu.php
Hola T
http://localhost/hola_tu.php
<form>...</form>
navegador
action=hola_tu.php
nombre=Antonio
servidor web
<?php $nombre = ...; ?> <form>...</form> <?php if ($nombre) { echo '<h1>Hola ' .$nombre.'!</h1>'; } ?>
Hola Antonio!
HTML
hola.php
Conociendo PHP
un poco ms
Bloques bsicos
$x = 1+1; if ($x>0) { ... } if ($x>0) { ... } else { ... } switch ($x) { case 1: ... break; ... default ... break; }
asignacin decisin
if if/else
switch
for ($i=0; $i<10; $i++) { ... } while ($i<10) { ... } do { ... } while ($i<10);
repeticin
for while do-while
Arrays
$x = 1; $a = array(2, 3, $x, 'Hola'); ( [0]=>2 [1]=>3 [2]=>1 [3]=>'Hola'
) a[3] foreach ($a as $item) { echo $item.'<br/>'; } foreach ($a as $indice=>$item) { echo $indice.': '.$item.'<br/>'; }
'Hola'
2 3 1 'Hola' 0: 1: 2: 3: 2 3 1 'Hola'
Funciones
function hola_mundo() { echo 'Hola Mundo!'; } function hola($x) { echo 'Hola '.$x.'!'; } function saludo($y) { return 'Hola '.$y.'!'; } function hola($x) { echo saludo($x); }
Hola Mundo!
Clases
class Hola() { function saludo($y) { return 'Hola '.$y.'!'; } function hola($x) { echo $this->saludo($x); } }
Hola Mundo!
include
cabecera.php
hola_mundo.php
<html> <body> <?php include 'cabecera.php';?> <?php include '_hola_mundo.php';?> </body> </html>
require
funciones.php
echo hola();
hola_mundo.php
Frameworks
Un framework es una forma de organizar el trabajo. Luego de un tiempo desarrollando, uno empieza a notar ciertos patrones de organizacin. An sin proponrselo, va surgiendo un framework.
Algunos frameworks muy difundidos en la comunidad PHP son CakePHP, CodeIgniter, Zend, Symphony Un framework estandarizado obliga a seguir ciertas convenciones de organizacin, pero pone a nuestra disposicin cdigo ampliamente probado y optimizado.
Frameworks
He trabajado en algunos proyectos con CakePHP 1.1 CakePHP 1.2, la versin actual, incorpora algunos cambios significativos Ahora estoy desarrollando con CodeIgniter 1.7
Referencias
PHP site http://php.net W3Schools PHP http://www.w3schools.com/PHP/default.asp CakePHP http://cakephp.org CodeIgniter http://codeigniter.com Zend Framework http://framework.zend.com/ Symphony http://www.symfony-project.org/ Coquette Icons http://dryicons.com/free-icons/preview/coquette-icons-set/