Академический Документы
Профессиональный Документы
Культура Документы
Analista Programador
Universitario
APU 2008
San Pedro
Ciclo 2015
Qu es PHP?
PHP es un lenguaje de programacin
diseado para el desarrollo web de contenido
dinmico.
Cmo funciona?
Cuando el cliente hace una peticin, el servidor ejecuta
el intrprete PHP.
Este compila el cdigo fuente, que genera el sitio web.
El resultado es enviado al navegador del cliente.
Caractersticas.
1. Es un multiplataforma y gratis. (Windows, Linux, Mac.)
2. El cdigo PHP es invisible al navegador.
3. Capacidad de conexin con bases de datos.
4. Capacidad de expandir su potencial con plugins.
5. Posee una amplia penetracin en internet.
Market Share:
Sitios en Internet
http://w3techs.com/technologies/overview/programming_language/all
http://w3techs.com/technologies/overview/client_side_language/all
Evolucin
La ltima versin es 5.7, que presenta
mejoras en el entorno orientado a objetos.
Compite en aplicaciones empresariales con las
plataformas J2EE y .NET.
Instalacin en Windows
La forma ms comn es utilizar combos:
Apache (servidor web), MySQL (base de datos) y PHP.
Facilitan el trabajo para instalar un servidor de desarrollo.
http://www.wampserver.com
http://wtriple.com/wtnmp/
http://www.easyphp.org/
Instalacin en Linux
En Centos/RedHat/Fedora :
yum install httpd mysql-server php-mysql phpcommon
En Ubuntu/Debian/Mint :
sudo apt-get install tasksel
(el combo completo)
apt-get install phpmyadmin
sudo apt-get install php
(solo el compilador)
Cmo se prueba la
instalacin?
Despus que tengamos instalado nuestro
servidor local tenemos que probarlo, para hacer
esto ingresamos http://localhost en nuestro
navegador.
Si todo esta instalado debidamente entonces
debemos ver un mensaje diciendo que funciona.
La carpeta /var/www/html, es por defecto la carpeta
principal.
Todo lo que est en esta carpeta es accesible
desde el navegador web a travs del servidor web.
Estructura Bsica
<!DOCTYPE html>
<head>
<meta charset="UTF-8" />
<title>Ejemplo PHP</title>
</head>
<body>
<?php
print 'Hola mundo';
?>
</body>
</html>
Variables
Comienzan con el signo $.
No hace falta declarar, o especificar el tipo de dato.
<?php
$dia = 24; //variable de tipo integer.
$sueldo = 758.43; //variable de tipo double.
$nombre = juan; //variable de tipo string.
print "variable entera $dia";
print "<br>";
print "Variable double: $sueldo";
print "<br>";
print "Variable string: $nombre";
?>
Estructura while
Es similar a otros lenguajes (Java, C++, etc.)
Ejecuta un bloque de programa mientras se cumpla
una cierta condicin.
Cuando deja de cumplirse, sale del ciclo y contina
ejecutndose el resto del programa.
while(condicin)
{
instrucciones;
}
Mostrar Nmeros
<?php
$valor=rand(1,100);
//rand permite sortear un nmero
$inicio=1;
while($inicio<=$valor)
{
print $inicio;
print "<br>";
$inicio++;
}
?>
Titulos y tamaos
<?PHP
$numero=1;
while ($numero<=6)
{
print "<h$numero>
Titulo $numero
</h$numero>";
$numero++;
}
?>
Nmeros al cuadrado
<?PHP
print "<table Border=1><tr>
<th>Numero</th>
<th>Cuadrado</th></tr>";
for ($i=1; $i<=10; $i++)
{
$cuadrado= $i * $i;
print"<tr>";
print"<td>$i</td>";
print"<td>$cuadrado</td>";
print"</tr>";
}
print "</table>";
?>
Formularios
Permite cargar datos al servidor.
Es el medio ideal para registrar datos, solicitar
productos, sacar turnos etc.
HTML solo tiene el objetivo de crear el formulario.
Se requiere de dos pginas, una que implementa el
formulario HTML y otra que procesa los datos.
Para acceder al dato se cuenta con $_REQUEST,
indicando el nombre de la variable.
Variable nombre
Archivo uno.html:
<form action=dos.php>
Ingrese su nombre:
<input type=text name=nombre><br>
<input type=submit value=confirmar>
</form>
Archivo dos.php:
<?php
print "El nombre ingresado es:";
print $_REQUEST['nombre'];
?>
Tabla de Multiplicar
<?php
<form action=result.php>
$num = $_REQUEST["num"];
<label>Inserte un numero</label>
$x = 1; //inicializador
<input type=number name=num>
do {
<input type=submit>
$resultado = $x * $num;
</form>
print "$resultado <br>";
$x++; //incrementacin
} while ($x <= 10);
?>
Mayor de edad
<form action=edad.php>
Ingrese el nombre:
<input type=text name=nombre><br>
Ingrese la edad:
<input type=number name=edad>
<br><input type=submit>
</form>
<?php
print $_REQUEST['nombre'];
if ($_REQUEST['edad']>=18)
{ print " Es mayor de edad"; }
else
{ print " No es mayor de edad"; }
?>
<Select> (parte 1)
<form action=dos.php>
Ingrese su nombre:
<input type=text name=nombre><br>
Seleccione en que rango se ubica su salario:
<select name=salario>
<option value=1>1-1000</option>
<option value=2>1001-3000</option>
<option value=3>3000</option>
</select><br>
<input type=submit>
</form>
<Select> (parte 2)
<?php
print $_REQUEST['nombre'];
if ($_REQUEST['salario']==3)
{
print " Debe pagar impuestos.";
}
else
{
print " No debe pagar impuestos.";
}
?>
Vectores
Se utilizan directamente, sin declarar:
$nombre[0]=Juan;
$nombre[1]=Pedro;
Si ahora hacemos: $nombre[2]=Luis;
El vector tendr 3 datos.
Tambin podemos obviar el subndice:
$nombre[]=Juan;
$nombre[]=Pedro;
$nombre[]=Luis;
Automticamente se numera: 0,1,2....
Arreglo Asociativo
Asigna nombres a cada posicin o dato del arreglo.
Es una manera ms humana de acceder a los elementos.
Esta vez los datos tendrn la forma de $llave => $valor.
<?php
$persona = array('nombre'=>'Juan', 'apellido'=>'valdez');
?>
Para acceder a un dato:
print $persona['apellido'];
Recorrer Arreglos
Existen varias maneras.
La mejor y ms sencilla es utilizar el bucle foreach().
<?php
$colores = array('rojo', 'verde', 'azul');
foreach( $colores as $color) {
print 'Color actual '. $color ;
}
?>
Subir 1 Archivo.
<form enctype=multipart/formdata action=subir.php>
Archivo:
<input name=archivo type=file>
<input type=submit>
</form >
<?php
print "Nombre:";
print $_FILES['archivo']['name'];
print "<br>Tipo:";
print $_FILES['archivo']['type'];
print "<br>Tamano:";
print $_FILES['archivo']['size'];
print "<br>Ruta:";
print $_FILES['archivo']['tmp_name'];
?>
Sessions
Permiten que las pginas sean tratadas como un grupo,
ya que podemos compartir variables en diferentes pginas.
Para crear una Session se utiliza la funcin session_start().
Se almacenan en el disco duro del usuario.
<?php
session_start();
$_SESSION['nombre'] = 'Juan';
$_SESSION['apellido'] = 'Perez';
?>
<?php
session_start();
if (isset($_SESSION['nombre'])) {
print $_SESSION['nombre'];
} else {
print 'No existe la variable';
}
?>
Cookies
Permiten guardar configuracin del usuario.
Se almacenan en el disco duro del usuario.
Pueden permanecer un gran tiempo almacenadas,
incluso hasta despus que dejas el sitio.
Tienen un tamao limitado de espacio, por lo cual solo
sirven para datos especficos.
Crear una cookie:
setcookie('nombreUsuario', 'Pedro', time() + 4800);
Leer una cookie:
if (isset($_COOKIE['nombreUsuario']))
print 'Valor de la Cookie '. $_COOKIE
['nombreUsuario'];
else
print 'No hay Cookies';
Funciones de Fecha.
Las funciones de PHP en general estn pensadas
para ser usadas rpidamente, sin muchas
complicaciones.
print date("d-m-Y H:i");
Resultado: 27-05-2014 19:30
print date("d-m-Y");
Resultado: 27-05-2014
print date("H:i:s");
Resultado: 19:30:15
Ms funciones: http://php.net/manual/es/ref.datetime.
php
Funciones de Fecha.
<?php
$dias = array("domingo","lunes","martes","miercoles","jueves","
viernes",
"sabado");
print "Hoy es ".$dias[date("w")]."<br>";
print "Today is " . date("Y.m.d") . "<br>";
print "Today is " . date("Y-m-d") . "<br>";
print "Today is " . date("l");
?>
Base de datos
Uno de los empleos principales de PHP
es el acceso a una base de datos.
Las operaciones se hacen empleando el lenguaje SQL.
PHP implementa distintas funciones segn
la base de datos a emplear.
Existen funciones para trabajar con:
MySQL
Microsoft SQL Server
Oracle
PostgreSQL
SYBASE, etc.
Qu es PhpMyAdmin?
Es una herramienta escrita en PHP con la intencin de
manejar la administracin de MySQL a travs de
pginas web, utilizando Internet.
Puede crear y eliminar Bases de Datos, crear, eliminar
y alterar tablas; borrar, editar y aadir campos,
ejecutar cualquier sentencia SQL, administrar claves
en campos, administrar privilegios, exportar datos en
varios formatos.
Se encuentra disponible bajo la licencia GPL.
Inicio de PhpMyAdmin
Creacin de Tablas
1. Ingresar en la Base de Datos creada. (Columbia)
2. Escribir el nombre, el nmero de columnas y
presionar el botn Continuar.
Insertar datos
Ingresar en la tabla Alumnos y presionar el botn Insertar.
2333555
Ana Gaona
1994-01-06
2100555
Carol Perez
1992-01-06
Listado
(seleccin de registros)
<?php
$db = new mysqli('localhost', 'root', '1', 'Columbia');
$sql = "select * from Alumnos";
$resultado = $db->query($sql);
while($fila = $resultado->fetch_assoc())
{
// $fila es un arreglo asociativo con los campos del select
print $fila['Documento'];
print "<hr>";
}
?>
Insert
Alta de registros. (parte 1)
Es necesario un formulario para cargar datos, y otro para procesar.
<form action=insertar.php>
<label>Documento:</label>
<input type=number
name=Documento><br>
<label>Nombre:</label>
<input type=text name=Nombre><br>
<label>Nacimiento:</label>
<input type=date name=Nacimiento><br>
<input type=submit>
</form>
Insert
Alta de registros. (parte 2)
<?php
$db = new mysqli('localhost', 'root', '1', 'Columbia');
$sql = "insert into Alumnos values('$_REQUEST
[Documento]','$_REQUEST[Nombre]', '$_REQUEST
[Nacimiento]')";
if(! $db->query($sql)){
die("Ocurrio un error ejecutando: $db->error");
}
print "Filas Insertadas: $db->affected_rows";
?>
Update
Modificar Registros.
En este ejemplo, vamos modificar los nombres,
sin usar un formulario.
<?php
$db = new mysqli('localhost', 'root', '1', 'Columbia');
$sql = "update Alumnos set Nombre = 'Pedro'";
if(! $db->query($sql) ){
die("Ocurrio un error ejecutando: $db->error");
}
print 'Filas Modificadas: '.$db->affected_rows;
?>
Delete
Eliminar Registros.
En este ejemplo, vamos eliminar todos los datos.
<?php
$db = new mysqli('localhost', 'root', '1', 'Columbia');
$sql = "delete from Alumnos";
if(! $db->query($sql) ){
die("Ocurrio un error ejecutando: $db->error");
}
print 'Filas Eliminadas: '.$db->affected_rows;
?>
Include y Require.
Cmo haramos para crear un sitio web que contenga
100 pginas con conexin a una base de datos?
Sera tedioso repetir un cdigo 100 veces.
Para esto tenemos las funciones include y require.
require "conexion.php";
$sql = "UPDATE Alumnos SET Nombre = 'Pedro'";
if(! $db->query($sql) )
die("Ocurrio un error ejecutando: $db->error");
print 'Filas Modificadas: '.$db->affected_rows;
Include intenta cargar el archivo pero si no logra, continua la
ejecucin.
En cambio Require corta el programa y muestra el error.
Clases y Objetos
<?php class Carro {
var $color;
var $numero_puertas;
var $marca;
var $gasolina = 0;
function llenarTanque($gasolina_nueva){
$this->gasolina = $this->gasolina +
$gasolina_nueva;
}
function acelerar(){
if ($this->gasolina > 0){
$this->gasolina = $this->gasolina - 1;
return 'Gasolina restante: '.$this->gasolina;
}}}
Se utilizan de manera
similar a otros lenguajes.
Facilitan la comprensin
y el mantenimiento.