Está en la página 1de 52

PROGRAMACIN CON PHP

PHP
Hypertext Pre- Processor

ORIGEN DE PHP
1995 Rasmus Lerdorf desarrolla a t ravs de Perl un
conjunt o de script s para el control de acceso a sus
pginas personales, al conjunt o de script s se les
denomin PHP (Personal Home Pages).
1997 se desarrola la versin 2.0 denominada PHP/ FI
(Form s Int erpret er).
1998 Zeev Suraski y Andi Gutmans renuevan el lenguaje
creando PHP 3.0 y a partir de aqu se le denomina
Hypertex t Preprocessor.
1999 Zeev y Andi crean un nuevo ncleo para el
lenguaje (Zend Engine), y se libera la versin 4.0.
2004 Se crea el mot or Zend 2.0 y se libera PHP 5.0, se
introduce un modelo de orientacin a objet os muy
similar al de Java.

DESCARGA DE FUENTES
http:/ / www.apache.org/
http:/ / www.php.net/

INSTALACIN DE APACHE
tar - zx vf httpd- x x x - tar.gz
cd httpd- x x x
./ configure - prefix = / usr/ local/ apache2
- - enable- m odule= so
m ake
m ake install

INSTALACIN DE PHP
Se puede instalar de 2 formas:
Com o CGI : Disminuye el rendimiento ya que es el
sistema operativo quien se encarga de gest ionar
t odos los procesos derivados de la ejecucin del
script de php.
Com o Mdulo : Es ms rpido y eficient e ya que las
ejecuciones del programa las realiza el servidor web.
NOTA : Adems si se instala como CGI tant o apache
como php se tienen que recompilar en caso que se
agregue soport e adicional por part e de php, y como
Mdulo slo se recompila php

INSTALACIN DE PHP
(COMO MDULO DINMICO)
t ar - zx vf php- 4.x .x .tar.gz
cd php- 4.x .x /
./ configure - - prefix = / usr/ local/ php4
- - with- apx s2= / usr/ local/ apache2/ bin/ apx s
- - with- mysql
make
make install
cp php.ini- dist / usr/ local/ php4/ lib/ php.ini
Agregar las siguient es lneas al archivo htt pd.conf:
AddType application/ x - htt pd- php .php .phtm l
AddType application/ x - htt pd- php- source .phps

INSTALACIN DE PHP
(CONT..)
Verificar que exista la linea :
LoadModule php4_module
modules/ libphp4.so
Crear un archivo llamado info.php en el
Document Root de apache /
usr/ local/ apache2/ htdocs
con el siguiente contenido:
< ? phpinfo(); ?>
Reiniciar apache.
Teclear en un navegador :
http:/ / localhost/ info.php

CGI
Common Gateway Interface
CGI es una norm a para establecer
com unicacin entre un servidor
web y un program a, de tal m odo
que este ltim o pueda interactuar
con internet. Tam bin se usa la
palabra CGI para referirse al
program a m ism o, aunque lo
correcto debera ser script.

CGI
(CONT)
Es un programa que se ejecuta en tiempo
real en un Servidor Web en respuesta a
una solicitud de un Navegador. Cuando
esto sucede el Servidor Web ejecuta un
proceso hijo que recibir los datos que
envia el usuario (en caso de que los
haya), pone a diposicin del mismo
algunos datos en forma de variables de
ambiente y captura la salida del
programa para enviarlo como respuesta
al Navegador.

PROPSITO DE LOS CGI S


Generar pginas de form a
dinm ica.
Procesam iento de form ularios.
Interaccin con Bases de datos.
Com ercio electrnico.
Lectura y escritura de archivos.
Motores de bsqueda.
Foros de discusin.

LENGUAJES DE
PROGRAMACIN CGI
Cualquier lenguaje capaz de tener
una salida estndar es susceptible
de ser utilizado para desarrollar
program as CGI (script CGI), ya sea
com pilado o interpretado.

LENGUAJES DE PROGRAMACIN
INTERPRETADOS
Los lenguajes interpretados son aquellos que van siendo
codificados por la computadora al tiempo en que se estn
ejecutando. Es decir, un "intrprete" es un traductor de
lenguajes de programacin de alto nivel, el cual realiza la
operacin de compilacin paso a paso, los intrpretes ejecutan
un programa lnea por lnea. Para cada sentencia que compone
el tex to inicial, se realiza una traduccin, se ejecuta la sentencia
y se vuelve a iniciar el proceso con la sentencia siguiente.
El programa siempre permanece en su forma original (programa
fuente) y el intrprete proporciona la traduccin al momento de
ejecutar cada una de las instrucciones. Es decir, el programa
ser ejecutado sin necesidad de ser codificado antes, y de
encontrarse un error la ejecucin se detendr en el comando o
accin errnea.
No se genera un archivo binario.
Ejemplos: ASP, PHP, PERL.

LENGUAJES DE PROGRAMACIN
COMPILADOS
Los lenguajes compilados son aquellos que necesitan
ser codificados, antes de ser ejecutados y obt ener
result ados, de encont rarse un error a la hora de
codificar los comandos del programa, st e nunca podr
ser ejecutado.
Un compilador es un programa que traduce un lenguaje
de alto nivel al lenguaje mquina de una com put adora.
Segn va ejecut ando la t raduccin verifica, comprueba y
cot eja los errores hechos por el programador; un
compilador t raduce un programa una sola vez,
generalmente. Un programa compilado indica que ha
sido t raducido y est listo para ser ejecut ado. La
ejecucin de los programas com pilados es cinco veces
ms rpida que la de los interpretados, ya que el
intrprete debe t raducir mientras est en la fase de
ejecucin.
Ejem plos: Java,C,C+ + .

VENTAJAS Y DESVENTAJAS
LENGUAJE INTERPRETADO
Ventajas: Se puede editar y probar de forma rpida ya
que no requiere el proceso de volver a com pilar (es ms
cmodo desarrollar una aplicacin ya que las fases de
ejecucin y edicin est n m s integradas), y
dependiendo del lenguaje es port able con la edicin casi
nula del cdigo.
Desventajas: Es ms lento que los lenguajes compilados
ya que no producen un cdigo objeto y recorren el
cdigo fuente cada vez que son ejecut ados, adems de
que no prot egen la implement acin, ya que se requiere
el script para su ejecucin.

VENTAJAS Y DESVENTAJAS
LENGUAJE COMPILADO
Ventajas: Es ms veloz que el int erpret ado ya que no
ejecuta el cdigo cada vez que se m anda llamar, sino
que posee un cdigo objet o que es el que se ejecut a, se
protege la implement acin, ya que slo ex ist e un binario
y no se requiere del cdigo fuent e.
Desventajas: El ciclo de edicin requiere de ms t iempo,
ya que cada que se hace un cambio se t iene que volver a
compilar, es portable solo que depende de la version del
compilador y de la arquitectura (a ex cepcin de java) y
se requiere del cdigo fuente para las modificaciones.

ARQUITECTURA
CLIENTE/ SERVIDOR
MODELO DE 4 CAPAS
FRONT END TCP/ IP

CLIENTE

RULES

HTTP

SCRIPT
PHP

PGINA
HTML

PGINA
HTML
SERVIDOR
WEB

INTRPRETE
PHP

BACK END

SERVIDOR
BD

Un Poco mas a fondo

Aun mas

FORMATO DEL CDIGO EN


PHP
Delim itadores de cdigo php:
< ?php
?>
<?
?>
(1)
<%
%> (2)
< script language= php>
< / script>
NOTA: Para utilizar (1) direct iva short _open_t ag= on
Para utilizar (2) direct iva aspt_t ags= on

delimitadores.php
< html>
< head>
< title> Delimitadores de php< / title>
< / head>
< body>
< h1 align= "center"> DELIMITADORES DE ETIQUETAS EN PHP< / h1> < hr>
<?
echo "Utilizando la etiqueta corta";
?>
< br>
< script language= "php">
echo "Utilizando la etiqueta de html script con php";
< / script>
< br>
< ?php
echo "< h1> utilizando etiquetas de html dentro de php, con la etiqueta";
echo "tradicional de php< / h1> < br> ";
?>
<%
echo "Utilizando las etiquetas de asp y de jsp";
%>
< / body>
< / html>

VARIABLES
Una variable es el nombre que se le da a una
posicin de la memoria en la cual se almacena
informacin.
PHP es un lenguaje dbilmente tipado, es decir,
las variables no tienen asociada la naturaleza
del tipo de informacin que almacenan.
En PHP una misma variable podr almacenar
distintos tipos de informacin.

DEFINICIN DE VARIABLES
Sintax is:
$nombre_de_variable
El nombre de las variables puede tener
letras,nmeros y _ .
NOTA: PHP es case sensitive, por lo que
diferencia entre minsculas y
maysculas.

TIPOS DE DATOS
Soporta 3 tipos de datos simples:
Integer
Float(sustituye a double desde v 4.2.0).
String

Y 2 tipos de datos compuestos:


Array
Object

Adems hace uso de un tipo boolean que


no est en la sintax is del lenguaje.

Integer (Enteros)
Nm eros que varan entre - 2
billones y 2 billones, se pueden
representar en form ato decim al,
octal o hex adecim al.
Ejem plos:
- 33,2139
Decimal
071,0336
Octal
0x 768, 0x AA Hex adecimal

Float (Flotantes)
Nm eros con decim ales.
Ejem plos:
3405.673, - 1.98
8.32e+ 11, 5.6 e- 3
cientfica

Notacin

String (Cadenas)
Cadenas de caracteres, una cadena est
formada por cero o ms caracteres
encerrados entre .
Caracteres especiales para las cadenas:
\n
\t
\\
\
\
\$

Cambio de linea
Tabulacin
Barra inversa
Comilla simple
Comilla doble
caracter $

variables.php
< html>
< head>
< title> VARIABLES< / title>
< / head>
< body>
< h1
align= "center"> VARIABLES< / h1> < hr>
<?
/*
Definimos las variables:
Demostracin del lenguaje dbilmente
tipado
*/
$entero= - 230;
echo 'Valor de la variable $entero : < br> ';
echo "$entero< br> ";
$entero= 4.74e3;
echo "$entero< br> ";
$entero= "hola";
echo $entero;
?>

< br>
<?
echo "Utilizando caracteres especiales
para las cadenas< br> ";
$entero= 0xFF;
echo "Valor de la variable $entero :
< br> \ t";
echo "$entero< br> \ t";
$entero= 4.74e- 3;
echo "$entero< br> \ n";
$entero= "hola";
echo '$entero\ t';
?>
< / body>
< / html>

comentarios.php
< html>
< head>
< title> COMENTARIOS< / title>
< / head>
< body>
< h1
align= "center"> COMENTARIOS< / h1> < hr>
<?
/ / Comentario de una linea
$saludo= "La casa de Juanito";
echo $saludo;
/*
Comentario de varias lineas
$saludo= "La casa de Juanito";
echo $saludo;
*/

# Comentario al estilo Unix


?>
< / body>
< / html>

Arrays (Arreglos)
Son estructuras que perm iten el
alm acenam iento de un conjunto de
datos bajo un m ism o nom bre.
En php los elem entos que
com ponen el arreglo pueden ser de
distintos tipos.
El prim er elem ento del arreglo
tiene el ndice 0.

arreglos.php
< html>
< head>
< title> ARREGLOS< / title>
< / head>
< body>
< h1
align= "center"> ARREGLOS< / h1> < hr>
<?
echo "El arreglo se llama
\ $producto< br> < br> ";
/ * Se definen los elementos del arreglo */
$producto[0] = 1;
$producto[1] = "chiles";
$producto[2] = "herdez";
$producto[3] = 15;
$producto[4] = "";
$producto[5] = 7.89;

echo "< td> IDENTIFICADOR< / td> ";


echo "< td> NOMBRE< / td> ";
echo "< td> MARCA< / td> ";
echo "< td> EN EXISTENCIA< / td> ";
echo "< td> INFO.
ADICIONAL< / td> ";
echo "< td> COSTO< / td> ";
echo "< / tr> ";
echo "< tr> ";
echo "< td> $producto[0]< / td> ";
echo "< td> $producto[1]< / td> ";
echo "< td> $producto[2]< / td> ";
echo "< td> $producto[3]< / td> ";
echo "< td> $producto[4]< / td> ";
echo "< td> $producto[5]< / td> ";
echo "< / tr> ";
echo "< / table> ";

echo "< table width= \ "80%\ "


border= '1'> < tr> ";

?>
< / body>
< / html>

Arrays Asociativos
Son arreglos especiales en los que
el ndice es una valor de tipo
string, de m odo que cada elem ento
del arreglo est definida por el par
(clave, valor) tam bin llam ado
par (key,value).
Son m uy usados en PHP.

arreglosasociativos.php
< html>
< head>
< title> ARREGLOS ASOCIATIVOS< / title>
< / head>
< body>
< h1 align= "center"> ARREGLOS
ASOCIATIVOS< / h1> < hr>
<?
echo "El arreglo se llama
\ $producto< br> < br> ";
/ * Se definen los elementos del arreglo
asociativo */
$producto['id'] = 1;
$producto['nombre'] = "chiles";
$producto['marca'] = "herdez";
$producto['existencia'] = 15;
$producto['informacion'] = "";
$producto['costo'] = 7.89;
echo "< table width= \ "80%\ "
border= '1'> < tr> ";
echo "< td> IDENTIFICADOR< / td> ";
echo "< td> NOMBRE< / td> ";

echo "< td> MARCA< / td> ";


echo "< td> EN EXISTENCIA< / td> ";
echo "< td> INFO.
ADICIONAL< / td> ";
echo "< td> COSTO< / td> ";
echo "< / tr> ";
echo "< tr> ";
echo "< td> " . $producto['id'] .
"< / td> ";
echo "< td> " . $producto['nombre'] .
"< / td> ";
echo "< td> " . $producto['marca'] .
"< / td> ";
echo "< td> " . $producto
['ex istencia'] . "< / td> ";
echo "< td> " . $producto
['informacion'] . "< / td> ";
echo "< td> " . $producto['costo'] .
"< / td> ";
echo "< / tr> ";
echo "< / table> ";
?>
< / body>
< / html>

Object (Objetos)
Es una estructura que define
caractersticas propias
(denom inadas propiedades) y sus
funcionalidades (denom inadas
m todos).

CONVERSIN AUTOMTICA
DE TIPOS
Cuando operam os con variables de
distinto tipo, el intrprete de PHP
tiende a hom ogeneizar sus
diferentes tipos en funcin de la
operacin que se pretende realizar.

conv_auto.php
< html>
< head>
< title> CONVERSIN AUTOMTICA DE TIPOS< / title>
< / head>
< body>
< h1 align= "center"> CONVERSIN AUTOMTICA DE TIPOS< / h1> < hr>
<?
$num= 15;
$cadena1= "23";
$cadena2= "250aux";
$cadena3= "1.245";
$cadena4= "hola";
$suma= $num + $cadena1;
echo 'Sumando $num + $cadena1 = ' . $suma . "< br> ";
$suma= $num + $cadena2;
echo 'Sumando $num + $cadena2 = ' . $suma . "< br> ";
$suma= $num + $cadena3;
echo 'Sumando $num + $cadena3 = ' . $suma . "< br> ";
$suma= $num + $cadena4;
echo 'Sumando $num + $cadena4 = ' . $suma . "< br> ";
?>
< / body>
< / html>

CONVERSIN DE TIPOS
Es posible convertir las variables a un
tipo especfico si se desea, es el llamado
casting en C o conversin de tipo.
Se escribe entre parntesis el tipo
deseado antes de la variable, que puede
ser integer, float, string, boolean, array,
object).
Ejemplo:
(float)$micadena;

casting.php
< html>
< head>
< title> CONVERSIN DE TIPOS (CASTING)< / title>
< / head>
< body>
< h1 align= "center"> CONVERSIN DE TIPOS (CASTING)< / h1> < hr>
<?
$cadena2= "250.789 es un buen nmero";
$cast= (integer)$cadena2;
echo 'Contenido de $cast : ' . $cast . "< br> ";
$cast= (float)$cadena2;
echo 'Contenido de $cast : ' . $cast . "< br> ";
$cast= (boolean)$cadena2;
echo 'Contenido de $cast : ' . $cast . "< br> ";
$cast= (array)$cadena2;
echo 'Contenido de $cast : ' . $cast . "< br> ";
echo "$cast[0]< br> ";
$cast= (object)$cadena2;
echo 'Contenido de $cast : ' . $cast . "< br> ";
?>
< / body>
< / html>

CONSTANTES
Una constante es una variable que mantiene el
mismo valor durante toda la ejecucin del
programa.
Constantes predefinidas de PHP:
PHP_VERSION
PHP_OS
TRUE
FALSE

Sintax is de definicin de constantes:


define(const ant e,valor)

constantes.php
< html>
< head>
< title> CONSTANTES< / title>
< / head>
< body>
< h1 align= "center"> CONSTANTES< / h1> < hr>
<?
define("DOLAR",11.47);
define("euro",15.02);
echo "Valor de dolar " . DOLAR . "< br> ";
echo "Valor de euro " . euro . "< br> ";
echo "Estamos trabajando con : < br> ";
echo "Version de PHP : " . PHP_VERSION . "< br> ";
echo "Sistema Operativo : " . PHP_OS . "< br> ";
echo TRUE . "< br> ";
echo FALSE . "< br> ";
?>
< / body>
< / html>

OPERADORES
ARITMTICOS:
+
*
/
%

$a + $b
$a - $b
$a * $b
$a / $b
$a % $b

OPERADORES (CONT)
DE ASIGNACIN:
= $a = $b
+ = $a + = $b < = > $a = $a + $b
- = $a - = $b
*= $a *= $b
/ = $a / = $b
%= $a %= $b
.= $a .= $b

OPERADORES (CONT)
DE CADENAS:
.

Operador de concatenacin de 2
cadenas.
.= Concatenacin y asignacin.

operadores1.php
< html>
< head>
< title> OPERADORES 1< / title>
< / head>
< body>
< h1 align= "center"> OPERADORES
1< / h1> < hr>
<?
$var1= 2;
$var2= 4;
$var3= 5;
$suma= $var1+ $var2;
$concatena= 'La suma de $var1 + $var 2 =
' . $suma . "< br> ";
$suma+ = $var3;
$concatena.= 'El resultado acumulado de
$suma = ' . $suma . "< br> ";
$resta= $var1- $var2;
$concatena.= 'La resta de $var1 - $var 2 =
' . $resta . "< br> ";
$resta- = $var3;
$concatena.= 'El resultado acumulado de
$resta = ' . $resta . "< br> ";

$mult= $var1*$var2;
$concatena.= 'La multiplicacin de $var1 *
$var 2 = ' . $mult . "< br> ";
$mult*= $var3;
$concatena.= 'El resultado acumulado de
$mult = ' . $mult . "< br> ";
$div= $var1/ $var2;
$concatena.= 'La divisin de $var1 / $var 2
= ' . $div . "< br> ";
$div/ = $var3;
$concatena.= 'El resultado acumulado de
$div = ' . $div . "< br> ";
$mod= $var1%$var2;
$concatena.= 'El mdulo de $var1 % $var 2
= ' . $mod . "< br> ";
$mod%= $var3;
$concatena.= 'El resultado acumulado de
$mod = ' . $mod . "< br> ";
echo $concatena;
?>
< / body>
< / html>

OPERADORES (CONT)
DE INCREMENTO Y DECREMENTO.
++

+ + $a incrementa $a en uno y
despus devuelve $a
$a+ + devuelve $a y despus lo
incrementa
- - - - $a predecremento
$a- - postdecremento

pre_post.php
< html>
< head>
< title> Pre- incremento y Post- incremento< / title>
< / head>
< body>

$variable= 5;
echo "Preincremento< br> ";
echo "$variable< br> ";
echo + + $variable."< br> ";
echo "$variable< br> ";

< h1 align= center> Incrementos< / h1> < hr>


<?

?>
< / body>

$variable= 5;
echo "Postincremento< br> ";
echo "$variable< br> ";
echo $variable+ + ."< br> ";
echo "$variable< br> < br> ";

< / html>

OPERADORES (CONT)
DE COMPARACIN : Se utilizan para comparar
ex presiones,el resultado es true o false, se
utilizan en la toma de decisiones.
= = $a = = $ b
!= $a != $ b
===
$a = = = $b
Idnt icos(iguales y del
mismo t ipo)
!= = $a != = $b
< $a < $b
> $a > $b
< = $a < = $b
> = $a > = $b

OPERADORES (CONT)
A NIVEL DE BIT : Realizar operaciones a
nivel de bits, es decir con ceros y unos.
&
|
^
~
<<
>>

$a & $b
$a | $b
$a ^ $b
~ $b
$a < < $b
$a > > $b

AND
OR
XOR
CA1
DESP. IZQ.
DESP. DER.

OPERADORES (CONT)
LGICOS : Se utilizan con ex presiones que
devuelven valores lgicos, con estos operando
se pueden combinar varias expresiones y
evaluarlas en una sola expresin.
&& and $a && $b TRUE si a y b son TRUE
| | or
$a | | $b
TRUE si a b son TRUE
!
!a
Niega el valor lgico
x or
$a x or $b TRUE si alguno es TRUE
pero no los 2 a la vez

PRECEDENCIA DE
OPERADORES
De mayor a menor precedencia:
! ~ + + - - (int) (double) (string) (array) (object) ( )
*/ %
+ - .
<< >>
< <= > >=
= = != = = =
&
^
|
&&
||
?:
= + = - = *= / = .= %= &= |= ^ = ~= < < = > > =
and
x or
or

FUNCIONES PARA VARIABLES


gettype(variable) : Devuelve el tipo de dato del
parmetro.
settype(variable, tipo) : Establece el tipo de dato
a guardar en una variable, realiza conversiones
de tipo de datos.
isset(variable) : Devuelve true si una variable ha
sido inicializada con un valor, de lo contrario
devuelve false.
empty(variable) : Devuelve true si la variable no
ha sido inicializada, si tiene un valor 0 o si es
una cadena vacia, de lo contrario devuelve
false.

FUNCIONES PARA VARIABLES


(CONT..)
is_int(variable) : True si la variable es entera.
is_float(variable) : True si la variable es flotante.
is_numeric(variable) : True si la variable es un
nmero o una cadena numrica.
is_bool(variable) : True si la variable es de tipo
lgico.
is_array(variable) : True si la variable es de tipo
arreglo.
is_string(variable) : True si la variable es de tipo
cadena.
is_object(variable) : True si la variable es de tipo
objeto.

También podría gustarte