Académique Documents
Professionnel Documents
Culture Documents
Introduccin a uno de
los lenguajes de
programacin web
ms usados en
Internet
instructorandrescantero@gmail.co
Audiencia
Web
Programacin
Qu es PHP?
Lenguaje de programacin
para generar pginas web
El ciclo web
2
1
4
navegador
solicitud
servidor web
respuesta
presentacin
proceso
respuesta web
El contenido del documento .html es
pasado tal cual a la respuesta HTML
.html
HTML
HTML
servidor
web
.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
Conociendo PHP
para empezar
instructorandrescantero@gmail.co
instalando PHP
instalar
Apache
instalar
MySQL
instalar
PHP
configurar
PHP
instalar
mdulo PHP
configurar
Apache
PHP
+ MySQL
configurar
PHP
En la instalacin
manual hay que bajar
cada componente,
instalarlo y
configurarlo.
Cuando la instalacin
aparece en Linux, se
la llama LAMP
Cuando la instalacin
aparece en Windows,
se la llama WAMP
Y as tambien para
MAC
XAMPP
Hay varios proyectos
que difunden
paquetes que
contienen esas
instalaciones tpicas.
Usarlos puede facilitar
la instalacin, y el da
a da con el entorno
de desarrollo.
Editores, IDEs
Igual que con HTML,
CSS, Javascript y otros
lenguajes web, es
posible trabajar usando
un simple editor de
texto, como Notepad,
aunque contar con un
entorno de desarrollo
puede facilitar mucho
las cosas.
Hay editores de texto
muy tiles para
programacin, como
Notepad++, jEdit,
Y entornos de desarrollo
muy buenos, como
Dreamweaver, Aptana,
Eclipse, Zend Studio
Editores, IDEs
Estos son los que suelo
usar
Notepad cuando no hay
nada ms a la mano
Notepad++ es excelente,
ligero, con FTP y una
buena utilidad para
convertir Unicode
Dreamweaver es
excelente para el diseo
HTML, tiene buen soporte
para PHP
Aptana esta basada en
Eclipse, pero tiene mucho
mejor soporte para PHP,
HTML, Javascript
Nano, cuando estoy Linux
y no hay nada ms a la
mano
Empezando
Conociendo PHP
lo bsico
instructorandrescantero@gmail.co
Hola Mundo!
hola_mundo.php
<?php
echo 'Hola Mundo!';
?>
El cdigo php se escribe entre etiquetas <?
php y ?>
Para escribir algo en la pgina, podemos usar
echo
Las cadenas se escriben entre apstrofes 'as',
entre comillas "as"
El nombre del archivo tiene la extensin php
Hola Mundo!
hola_mundo.php
<?php
echo 'Hola Mundo!';
?>
htdocs
Hola Mundo!
htdocs
htdocs/index.php
http://localhost/index.php
htdocs/hola_mundo.php
http://localhost/hola_mundo.php
Hola Mundo!
En Notepad++ es fcil
comprobar y cambiar el
encode
Hola Mundo!
http://localhost/hola_mundo.php
servidor
web
navegador
Hola Mundo!
HTML
<?php
echo 'Hola Mundo!';
?>
.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
instructorandrescantero@gmail.co
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>
navegador
action=hola.php
nombre=Antonio
Hola Antonio!
HTML
<form>...</form>
servidor
web
hola_form.php
<?php
echo 'Hola '
.$_POST['nombre']
.'!';
?>
hola.php
Hola T
hola_tu.php
<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 T
http://localhost/hola_tu.php
<form>...</form>
navegador
action=hola_tu.php
nombre=Antonio
Hola Antonio!
HTML
<?php
$nombre = ...;
?>
servidor
web
<form>...</form>
<?php
if ($nombre) {
echo '<h1>Hola '
.$nombre.'!</h1>';
}
?>
hola.php
Conociendo PHP
un poco ms
instructorandrescantero@gmail.co
Bloques bsicos
asignacin
$x = 1+1;
if ($x>0) {
...
}
if ($x>0) {
...
} else {
...
}
switch ($x) {
case 1:
...
break;
...
default
...
break;
}
decisin
if
if/else
switch
repeticin
while ($i<10) {
...
}
do-while
do {
...
} while ($i<10);
for
while
Arrays
$x = 1;
$a = array(2, 3, $x, 'Hola');
(
[0]=>2
[1]=>3
[2]=>1
[3]=>'Hola'
)
a[3]
'Hola'
2
3
1
'Hola'
0:
1:
2:
3:
2
3
1
'Hola'
Funciones
function hola_mundo() {
echo 'Hola Mundo!';
}
hola_mundo();
function hola($x) {
echo 'Hola '.$x.'!';
}
hola('Mundo');
function saludo($y) {
return 'Hola '.$y.'!';
}
function hola($x) {
echo saludo($x);
}
hola('Mundo');
Hola Mundo!
Clases
class Hola() {
function saludo($y) {
return 'Hola '.$y.'!';
}
function hola($x) {
echo $this->saludo($x);
}
}
Hola Mundo!
$h = new Hola();
$h->hola('Mundo');
include
cabecera.php
hola_mundo.php
<html>
<body>
<?php include 'cabecera.php';?>
<?php include '_hola_mundo.php';?
>
</body>
</html>
require
funciones.php
function hola() {
return 'Hola Mundo!';
}
_hola_mundo.php
echo hola();
hola_mundo.php
<html>
<body>
<?php require('funciones.php');?>
<?php include '_hola_mundo.php';?
>
</body>
</html>
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
CI es quizs el framework PHP ms
rpido existente
Kohana es una derivacin de CI,
pero exclusiva para PHP5
instructorandrescantero@gmail.co
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/