Aprende PHP en 12 capítulos

La mejor forma de aprender PHP, con este curso puedes aprender a programar PHP poco a poco, sigue el tutorial y verás que fácil es o si lo prefieres visita el manual oficial aquí. Tutorial Oficial PHP

1. Iniciación a PHP
1.1 1.2 1.3 Conceptos básicos Nuestro primer PHP Variables

2. Operadores en PHP
2.1 2.2 2.3 Aritméticos Comparación Lógicos

3. Instrucciones en PHP
3.1 3.2 3.3 3.4 Condicionales Bucles Salida Manejo de cadenas

4. Funciones
4.1 4.2 Funciones Librerías

5. Ejemplos prácticos
5.1 5.2 Formateo de página Enlace externo

6. Procesado de formularios
6.1 6.2 6.3 Envio y recepción Método GET y POST Envío de Email

7. Bases de Datos MySQL
7.1 7.2 7.3 7.4 7.5 Crear la base de datos Conectarse a la BD Consultas a la BD Insertar registros Borrar registros

8. Seguridad
8.1 8.2 Restringir acceso Distinción de usuarios

9. Sesiones
9.1 9.2 9.3 9.4 9.5 ¿Qué son? Inicialización Un ejemplo Error común Carrito compra

10.Cookies
10.1 ¿Qué son? 10.2 Cómo usarlas

10.3 Ejemplo de uso

11.Expresiones regulares EE.RR
11.1 ¿Qué son? 11.2 Patrones 11.3 Ejemplo

12.PHP Orientado a Objetos
12.1 ¿Qué son las clases? 12.2 Atributos 12.3 Herencia 12.4 Herencia Multiple en PHP 12.5 Acceso Public (Publico) 12.6 Acceso Private (Privado) 12.7 Ejemplo completo

Conceptos básicos
Inicio > Iniciación PHP > Conceptos básicos El lenguaje PHP es un lenguaje de programación de estilo clásico, con esto quiero decir que es un lenguaje de programación con variables, sentencias condicionales, bucles, funciones.... No es un lenguaje de marcas como podría ser HTML, XML o WML. Está mas cercano a JavaScript o a C, para aquellos que conocen estos lenguajes.

Pero a diferencia de Java o JavaScript que se ejecutan en el navegador, PHP se ejecuta en el servidor, por eso nos permite acceder a los recursos que tenga el servidor como por ejemplo podría ser una base de datos. El programa PHP es ejecutado en el servidor y el resultado enviado al navegador. El resultado es normalmente una página HTML pero igualmente podría ser una pagina WML.

Al ser PHP un lenguaje que se ejecuta en el servidor no es necesario que su navegador lo soporte, es independiente del navegador, pero sin embargo para que sus páginas PHP funcionen, el servidor donde están alojadas debe soportar PHP.

Nuestro primer PHP
Inicio > Iniciación PHP > Nuestro primer PHP La ventaja que tiene PHP sobre otros lenguajes de programación que se ejecutan en el servidor (como podrían ser los script CGI Perl), es que nos permite intercalar las sentencias PHP en las paginas HTML, es un concepto algo complicado de entender si no se ha visto nunca como funciona unas paginas PHP o ASP. Vamos a ver un ejemplo sencillo para comprenderlo mejor. En azul está el código HTML y en rojo el código PHP. Seguiremos este criterio durante todo el manual.

<html> <head> <title>Ejemplo de PHP</title> </head> <body> Parte de HTML normal. <BR><BR> <?php echo "Parte de PHP<br>"; for($i=0;$i<10;$i++) { echo "Linea ".$i."<br>"; } ?> </body> </html> El código PHP ejecutado tiene dos partes: la primera imprime "Parte de PHP" y la segunda es un bucle que se ejecuta 10 veces de 0 a 9, por cada vez que se ejecuta se escribe una línea, la variable $i contiene el número de línea que se está escribiendo. No importa si no entiende muy bien el programa este ejemplo solo es para ilustrar como se intercala el código HTML y el código PHP.

Variables
Inicio > Iniciación PHP > Variables Una variable es un contenedor de información, en el que podemos meter números enteros, números decimales, carácteres... el contenido de las variables se puede leer y se puede cambiar durante la ejecución de una página PHP. En PHP todas las variables comienzan con el símbolo del dólar $ y no es necesario definir una variable antes de usarla. Tampoco tienen tipos, es decir que una misma variable puede contener un número y luego puede contener carácteres. <html> <head> <title>Ejemplo de PHP</title> </head> <body> <?php $a = 1; $b = 3.34; $c = "Hola Mundo"; echo $a,"<br>",$b,"<br>",$c; ?> </body> </html> En este ejemplo hemos definido tres variables, $a, $b y $c y con la instrucción echo hemos impreso el valor que contenían, insertando un salto de línea entre ellas. Existen 2 tipos de variables, las variables locales que solo pueden ser usadas dentro de funciones y las variables globales que tienen su ámbito de uso fuera de las funciones, podemos acceder a una variable global desde una función con la instrucción global nombre_variable;

Operadores Aritméticos PHP
Inicio > Operadores en PHP > Operadores Aritméticos PHP Los operadores de PHP son muy parecidos a los de C y JavaScript, si usted conoce estos lenguajes le resultaran familiares y fáciles de reconocer. Estos son los operadores que se pueden aplicar a las variables y constantes numéricas.

$b. . > $b. >= $c."<br>". echo $a echo $a echo $a echo $a echo $a echo $b ?> </body> </html> == $b. $c = 3. echo $b. echo $a / $b. echo $a + $b."<br>"."<br>". <= $c. $b = 3. $a++."<br>". echo $a ."<br>"."<br>". Resta 1 al contenido de una variable.Operador + * / % ++ -- Nombre Suma Resta Multiplicación División Módulo Suma 1 Resta 1 Ejemplo 5+6 7-9 6*3 4/9 7%2 $a++ $a-- Descripción Suma dos números Resta dos números Multiplica dos números Divide dos números Devuelve el resto de dividir ambos números."<br>". Operador == != < > <= >= Nombre Igual Distinto Menor que Mayor que Menor o igual Mayor o igual Ejemplo $a == $b $a != $b $a < $b $a > $b $a <= $b $a >= $b Devuelve cierto cuando: $a es igual $b $a es distinto $b $a es menor que $b $a es mayor que $b $a es menor o igual que $b $a es mayor o igual que $b <html> <head> <title>Ejemplo de PHP</title> </head> <body> <?php $a = 8."<br>". < $b. != $b."<br>". $b = 3. ?> </body> </html> </body> </html> Operadores de Comparación PHP Inicio > Operadores en PHP > Operadores de Comparación PHP Los operadores de comparación son usados para comparar valores y así poder tomar decisiones. <html> <head> <title>Ejemplo de PHP</title> </head> <body> <?php $a = 8."<br>". $b--. en este ejemplo el resultado es 1 Suma 1 al contenido de una variable."<br>"."<br>". echo $a * $b. echo $a.

<html> <head> <title>Ejemplo de PHP</title> </head> . echo ($a == $b) || ($b == $c). combinando los posibles valores de estas. Devuelve verdadero cuando ambas condiciones son verdaderas. } ?> La sentencia if ejecuta una serie de instrucciones u otras dependiendo de la condición que le pongamos. Sentencia if ."<br>". Operador && and || or ! Nombre Y Y O O No Ejemplo (7>2) && (2<4) (7>2) and (2<4) (7>2) || (2<4) (7>2) or (2<4) ! (7>2) Devuelve cierto cuando: Devuelve verdadero cuando ambas condiciones son verdaderas. $c = 3.."<br>". } else { Sentecias a ejecutar cuando la condición es falsa. Niega el valor de la expresión. Las más frecuentes son la instrucción if y la instrucción switch. $b = 3. Devuelve verdadero cuando al menos una de las dos es verdadera. Probablemente sea la instrucción más importante en cualquier lenguaje de programación.. <html> <head> <title>Ejemplo de PHP</title> </head> <body> <?php $a = 8. ?> </body> </html> Condicionales Inicio > Instrucciones en PHP > Condicionales PHP Las sentencias condicionales nos permiten ejecutar o no unas ciertas instrucciones dependiendo del resultado de evaluar una condición. echo ($a == $b) && ($c > $b). else <?php if (condición) { Sentencias a ejecutar cuando la condición es cierta."<br>". echo !($b <= $c).Operadores Lógicos Inicio > Operadores en PHP > Operadores Lógicos PHP Los operadores lógicos son usados para evaluar varias comparaciones. Devuelve verdadero cuando al menos una de las dos es verdadera.

Sentencia while <?php while (condición) { intrucciones a ejecutar. es decir repetir la ejecución de un conjunto de instrucciones mientras se cumpla una condición. if ($a < $b) { echo "a es menor que b". Bucles Inicio > Instrucciones en PHP > Bucles PHP Los bucles nos permiten iterar conjuntos de instrucciones. } ?> </body> </html> Con la sentencia switch podemos ejecutar unas u otras instrucciones dependiendo del valor de una variable. case "abajo": // Bloque 2 echo "La variable contiene". } else { echo "a no es menor que b". dependiendo del valor de la variable $posicion se ejecuta el bloque 1 cuando el valor es "arriba". default: // Bloque 3 echo "La variable contiene otro valor". echo " el valor abajo". en el ejemplo anterior. echo " el valor arriba". $b = 3. el bloque 2 cuando el valor es "abajo" y el bloque 3 si no es ninguno de los valores anteriores. <html> <head> <title>Ejemplo de PHP</title> </head> <body> <?php $posicion = "arriba". switch($posicion) { case "arriba": // Bloque 1 echo "La variable contiene". } ?> . break.<body> <?php $a = 8. } ?> </body> </html> En este ejemplo la condición no es verdadera por lo que se ejecuta la parte de código correspondiente al else. echo " distinto de arriba y abajo". break.

el segundo parámetro indica la condición que se debe cumplir para que el bucle siga ejecutándose y el tercer parámetro es una instrucción que se ejecuta al final de cada iteración y sirve para modificar el valor de la variable de iteración. <?php printf(cadena formato.Mientras la condición sea cierta se reiterará la ejecución de las instrucciones que están dentro del while. <html> <head> <title>Ejemplo de PHP</title> </head> <body> Inicio<BR> <?php $i=0. variable2. $i. El primer parámetro del for."<br>".). <?php for (inicial . el valor de $i al comienzo es 0. } ?> Final<BR> </body> </html> En el siguiente ejemplo. Sentencia printf. ?> . condición . En esta página veremos la instrucción printf que nos da mucha más potencia. } ?> Final<BR> </body> </html> La instrucción for es la instrucción de bucles más completa. durante la ejecución del bucle.. es ejecutado la primera vez y sirve para inicializar la variable del bucle. variable1. $i<10 . esta instrucción es bastante limitada ya que no nos permite formatear la salida.. } ?> <html> <head> <title>Ejemplo de PHP</title> </head> <body> Inicio<BR> <?php for($i=0 . $i. $i++) { echo "El valor de i es ". ejecutar en iteración) { intrucciones a ejecutar. $i++. se va sumando 1 al valor de $i de manera que cuando $i vale 10 ya no se cumple la condición y se termina la ejecución del bucle. En una sola instrucción nos permite controlar todo el funcionamiento del bucle. while ($i<10) { echo "El valor de i es "."<br>". Salida Inicio > Instrucciones en PHP > Salida PHP Hasta ahora hemos usado la instrucción echo para realizar salida a pantalla.

?> </body> </html> Manejo de Cadenas Inicio > Instrucciones en PHP > Manejo de Cadenas PHP Dado el uso del lenguaje PHP el tratamiento de cadenas es muy importante. 1. La principal ventaja es que además de poder formatear los valores de salida. Divide una cadena en varias usando un carácter separador.La cadena de formateo indica cómo se han de representar las valores que posteriormente le indicaremos.2. var2.. <html> <head> <title>Ejemplo de PHP</title> </head> <body> <?php printf("El numero dos con diferentes formatos: %d %f %.strpos(cadena1.cadena). Busca la cadena2 dentro de cadena1 indicándonos la posición en la que se encuentra.. empezando por inicio y de longitud. <html> <head> <title>Ejemplo de PHP</title> </head> <body> <?php $var="texto".2.2f".. printf("Puede fácimente intercalar <b>%s</b> con números <b>%d</b> <br>".str_replace(cadena1. printf("<TABLE BORDER=1 CELLPADDING=20>").sprintf(cadena de formato.).. Devuelve una subcadena de otra. .$i)..$i<10.$num).. Elemento %s %d %f %c Tipo de variable Cadena de carácteres. Número sin decimales.strlen(cadena). Formatea una cadena de texto al igual que printf pero el resultado es devuelto como una cadena. Carácter ASCII. 6.split(separador. var1. 7. nos permite intercalar texto entre ellos. Elimina los saltos de línea y los espacios finales de una cadena. a continuación explicaremos las más usadas. } printf("</table>"). for ($i=0. Número con decimales. 5.. inicio. 3.. Reemplaza la cadena1 por la cadena2 en el texto.chop(cadena). cadena2). 4. existen bastantes funciones para el manejo de cadenas. $num=3.. texto). Nos devuelve el número de carácteres de una cadena.d</td></tr>".substr(cadena. cadena2. 2.$i++) { printf("<tr><td>%10. longitud).2). ?> </body> </html> La cadena de formato puede incluir una seria de carácteres especiales que indican como formatear las variables que se incluyen en la instrucción.$var.

$i++) echo $palabras[$i]. ?> . } ?> return valor_de_retorno. } echo media_aritmetica(4."<br>".. echo strpos("Busca la palabra dentro de la frase".9. <?php function Nombre(parametro1.<html> <head> <title>Ejemplo de PHP</title> </head> <body> <?php echo strlen("12345"). echo substr("Devuelve una subcadena de otra".$palabras[$i]. $palabras=split(" ". parametro2. $b) { $media=($a+$b)/2."). for($i=0. Opcionalmente podemos pasarle parámetros a las funciones que se trataran como variable locales y así mismo podemos devolver un resultado con la instrucción return valor. Esto produce la terminación de la función retornando un valor."<br>"."rojo".8*5)."Esto es una prueba")."<br><br>". echo $resultado."Un pez de color verde."<br>". instrucción3."<br>". $resultado=sprintf("8x5 = %d <br>". <?php function media_aritmetica($a. if (chop("Cadena \n\n ") == "Cadena") echo "Iguales<br><br>".) { instrucción1. instrucción2.524543)."<br><br>". ahorrándonos la necesidad de escribirlas de nuevo. instrucción4. echo str_replace("verde"."<br>". ?> </body> </html> Funciones PHP Inicio > Funciones en PHP > Funciones PHP El uso de funciones nos da la capacidad de agrupar varias instrucciones bajo un solo nombre y poder llamarlas a estas varias veces desde diferentes sitios."<br>". echo media_aritmetica(3242.3).6). return $media. como verde es la hierba.. "palabra").

Librerías PHP Inicio > Funciones en PHP > Librerías PHP El uso de librerías es tremendamente útil.524543). <?php function media_aritmetica($a.</FONT><BR> Autor: Joaquin Gracia .</FONT><BR> Autor: Joaquin Gracia <? } ?> Ahora vamos a crear 2 páginas que usan la librería definida anteriormente para conseguir que las dos paginas tengan la misma cabecera y pie de pagina. Así mismo modificando la librería modificaríamos tambien todas las páginas de una manera muy rápida.phtml <?php function CabeceraPagina() { ?> <FONT SIZE="+1">Esta cabecera estará en todas sus páginas. de manera que luego podemos incluir esta librería en distintas páginas y disponer de esas funciones fácilmente. <?php function CabeceraPagina() { ?> <FONT SIZE="+1">Esta cabecera estará en todas sus páginas. </FONT><BR> <hr> <? } function PiePagina() { ?> <hr> <FONT SIZE="-1">Este es el pie de página. nos permiten agrupar varias funciones y variables en un mismo fichero. echo media_aritmetica(3242. $b) { $media=($a+$b)/2. libpagina. </FONT><BR> <hr> <? } function PiePagina() { ?> <hr> <FONT SIZE="-1">Este es el pie de página. } echo media_aritmetica(4. ?> Formateo de página Inicio > Ejemplos prácticos > Formateo de página En este ejemplo vamos a usar el PHP y la capacidad de definir librerías para conseguir que todas nuestras páginas tengan el mismo formato de página. incluyendo las partes comunes en librerías. return $media."<br>"."<br>".6).

. ?> <TABLE> <TR> <TD> <?php Indice() ?> </TD> <TD> Página 1 <BR><BR><BR><BR><BR> Contenido blalbl blalb alb<BR><BR> más cosas.phtml">Pagina 1</A><BR> <A HREF="ejem06a2.phtml <html> <head> <title>Ejemplo de PHP</title> </head> <body> <?php include("libpagina.phtml">Pagina 2</A><BR> <? } ?> ejem06a. ?> </body> </html> ejem06a2.phtml") ?> <?php CabeceraPagina().phtml <html> <head> <title>Ejemplo de PHP</title> </head> <body> <?php include("libpagina. ?> <TABLE> <TR> <TD> <?php Indice() ?> </TD> <TD> Esta es otra página<BR><BR> completamente distinta<BR><BR> pero comparte el pie y la cabecera con la otra. .<BR><BR> fin<BR><BR> </TD> </TR> </TABLE> <?php PiePagina().<? } function Indice() { ?> <A HREF="ejem06a. ?> </body> </html> Enlace externo Inicio > Ejemplos prácticos > Formateo de página Con este ejemplo damos solución al problema de los enlaces externos y de forma que la web externa queda en la parte inferior del frame y así no se sale de nuestra web.phtml") ?> <?php CabeceraPagina()..<BR><BR> </TD> </TR> </TABLE> <?php PiePagina().

phtml?dire=http://www.net"> www. esta variable creada tenía el mismo nombre que el cuadro de texto de la página anterior y el valor que habíamos introducido.0 PHP creaba una variable por cada elemento del FORM.*"> <FRAME NAME="arriba" SRC="ejem06b3.tutorialphp. En versiones anteriores a 4.tutorialphp. permitiéndonos de esta manera procesar la información que el usuario ha introducido.ejem06b. <html> <head> <title>Ejemplo de PHP</title> .2.net</A><BR><BR> <A HREF="ejem06b2.terra.frames --> <FRAMESET ROWS="100. así como en método por el que se le pasará la información a la página.phtml <!-.html <html> <head> <title>Ejemplo de PHP</title> </head> <body> <A HREF="ejem06b2.es</A> </body> </html> ejem06a2.html" MARGINWIDTH="10" MARGINHEIGHT="10" SCROLLING="auto" FRAMEBORDER="0"> <FRAME NAME="abajo" SRC="<?php echo $dire ?>" MARGINWIDTH="10" MARGINHEIGHT="10" SCROLLING="auto" FRAMEBORDER="0"> </FRAMESET> Envio y recepción Inicio > Procesado de formularios > Envio y recepción El lenguaje PHP nos proporciona una manera sencilla de manejar formularios. Pero por razones de seguridad a partir de entonces para acceder a las variables del formulario hay que usar el array de parámetros $_POST[] o $_GET[] dependiendo del método usado para enviar los parámetros. En este ejemplo se ha creado una entrada en el array $_GET[] con el índice 'nombre' y con el valor que haya introducido el navegante.phtml" METHOD="GET"> <INPUT TYPE="text" NAME="nombre"><BR> <INPUT TYPE="submit" VALUE="Enviar"> </FORM> </body> </html> Al pulsar el botón Enviar el contenido de cuadro de texto es enviado a la página que indicamos en el atributo ACTION de la etiqueta FORM. Al diseñar un formulario debemos indicar la página PHP que procesará el formulario. <html> <head> <title>Ejemplo de PHP</title> </head> <body> <H1>Ejemplo de procesado de formularios</H1> Introduzca su nombre: <FORM ACTION="procesa.terra.es"> www.phtml?dire=http://www.

$direccion."Ejemplo de envio de email"." en formato <b>".com>\n"). información adicional de cabecera). Content-type:."Content-type: text/html\n". } echo "Se ha enviado un email a la direccion: ". tema.phtml" METHOD="GET"> <INPUT TYPE="text" NAME="direccion"><BR><BR> Formato: <BR> <INPUT TYPE="radio" NAME="tipo" VALUE="plano" CHECKED> Texto plano<BR> <INPUT TYPE="radio" NAME="tipo" VALUE="html"> HTML<BR><BR> <INPUT TYPE="submit" VALUE="Enviar"> </FORM> </body> </html> email. ?> En el parámetro destinatario pondremos la dirección de email a donde se enviará el mensaje. <?php mail(destinatario. From:.". Existe una sintaxis extendida de la instrucción mail( ) que nos permite añadir información adicional a la cabecera del mensaje.tutorialphp. } else { // Envio en formato HTML mail($direccion.net/\n Manuales para desarrolladores web.net/<br> <u>Manuales</u> para <b>desarrolladores</b> web.com>\n"). <html> <head> <title>Ejemplo de PHP</title> </head> <body> <H1>Ejemplo de envio de email</H1> Introduzca su direccion de email: <FORM ACTION="email.</head> <body> <H1>Ejemplo de procesado de formularios</H1> El nombre que ha introducido es: <?php echo $_GET['nombre'] ?> <br> </body> </html> Envío de Email Inicio > Procesado de formularios > Envío de Email PHP nos ofrece la posibilidad de enviar emails de una manera sencilla y fácil. para ello el lenguaje nos proporciona la instrucciónmail( ) <?php mail(destinatario.</body></html>".\n". if ($direccion!=""){ if ($tipo=="plano"){ // Envio en formato texto plano mail($direccion. } ?> ."FROM: Pruebas <webmaster@hotmail.$tipo. tema.\nhttp://www."Ejemplo de envio de email". que nos permiten tener un mayor control sobre el mensaje. $tipo=$_GET['tipo']. texto del mensaje).phtml <html> <head> <title>Ejemplo de PHP</title> </head> <body> <H1>Ejemplo de envio de email</H1> <? $direccion=$_GET['direccion'].<br>http://www. texto del mensaje. en el parámetro tema el tema o subject del mensaje y el parámetro texto del mensaje el cuerpo del mensaje en formato texto plano...tutorialphp. ?> En la información de cabecera podremos incluir parámetros adicionales al mensaje como Reply-To:."</b>. "FROM: Pruebas <webmaster@hotmail. Manual de PHP</title></head><body>Ejemplo de envio de email de HTML<br><br>TutorialPHP."Ejemplo de envio de email de texto plano\n\nTutorialPHP."<html><head><title>TutorialPHP.

<html> <head> <title>Ejemplo de PHP</title> </head> <body> <?php function Conectarse() { if (!($link=mysql_connect("localhost". Conexión a la base de datos MySQL Inicio > Bases de Datos MySQL > Conexión a la base de datos MySQL Una vez que tenemos creada la base de datos en nuestro servidor.". Una vez conseguido esto debemos crear las tablas en la base de datos.sql prueba. Para lo cual usaremos en lenguaje de consultas SQL común para todas las bases de datos relacionales. exit().$link)) . En este ejemplo creamos una tabla llamada prueba con 3 campos: un campo identificador. que nos servirá para identificar unívocamente una fila con el valor de dicho campo. Nombre varchar(100). Para ello PHP nos proporciona una serie de instrucciones para acceder a bases de datos MySQL."usuario". otro campo con el nombre de una persona y por último un campo con el apellido de la persona. } if (!mysql_select_db("base_datos"."Password"))) { echo "Error conectando a la base de datos. PRIMARY KEY (ID_Prueba). El comando para crear una base de datos MySQL es el siguiente: mysqladmin -u root create base_datos Con este comando conseguimos crear la una base de datos en el servidor de bases de datos de nuestro servidor. UNIQUE ID_Prueba (ID_Prueba) ). Para crear la tabla puede usar la herramienta de administración de MySQL de su servidor web o puede escribir un fichero de texto con el contenido de la sentencia SQL equivalente y luego decirle al motor de base de datos que la ejecute con la siguiente instrucción: mysql -u root base_datos <prueba. para lo cual el servidor donde tenemos alojadas las páginas nos tiene que proporcionar herramientas para crearla o acceso al Telnet para que la creemos por nosotros mismos.sql CREATE TABLE prueba ( ID_Prueba int(11) DEFAULT '0' NOT NULL auto_increment. la descripción de las tablas contienen la estructura de la información que almacenaremos en ellas. el siguiente paso es conectarnos a la misma desde una página PHP. Apellidos varchar(100).<br> </FORM> </body> </html> Crear la base de datos MySQL Inicio > Bases de Datos MySQL > Crear la base de datos MySQL Para la realización de este curso sobre PHP con acceso a base de datos hemos elegido la base de datos MySQL por ser gratuita y por ser también la mas empleada en entornos UNIX.

$link=Conectarse()."Password"))) { echo "Error conectando a la base de datos.". exit().<br>".".$link). echo "Error seleccionando la base de datos. este vínculo será usado posteriormente en las consultas que hagamos a la base de datos.Nombre</TD><TD>&nbsp. conex. Para facilitar la programación hemos separado la función de conexión en una librería a parte. $link=Conectarse().phtml"). $result=mysql_query("select * from prueba".</TD></TR> <?php while($row = mysql_fetch_array($result)) { . una vez que hemos terminado de usar el vínculo con la base de datos.". } return $link.phtml <?php function Conectarse() { if (!($link=mysql_connect("localhost".Apellidos&nbsp. mysql_close($link)."usuario". } ?> <html> <head> <title>Ejemplo de PHP</title> </head> <body> <H1>Ejemplo de uso de bases de datos con PHP y MySQL</H1> <?php include("conex. echo "Conexión con la base de datos conseguida. ?> <TABLE BORDER=1 CELLSPACING=1 CELLPADDING=1> <TR><TD>&nbsp.{ } } return $link. exit(). ya podemos realizar consultas a las tablas de la base de datos. lo liberaremos con la instrucción mysql_close para que la conexión no quede ocupada. de tal manera que la incluiremos en todas las páginas que accedan a la base de datos. exit(). Finalmente. //cierra la conexion ?> </body> </html> Al ejecutar la instrucción mysql_connect creamos un vínculo entre la base de datos y la pagina PHP. } if (!mysql_select_db("base_datos".$link)) { echo "Error seleccionando la base de datos. Consultas a la Base de Datos MySQL Inicio > Bases de Datos MySQL > Consultas a la Base de Datos MySQL Una vez que nos hemos conectado con el servidor de bases de datos.

mysql_close($link). esta página lo que hará será introducir los datos del formulario en la base de datos. $link=Conectarse(). $row["Nombre"].</TD></TR> <?php while($row = mysql_fetch_array($result)) { printf("<tr><td>&nbsp. Para ello usaremos un formulario y en el ACTION del FORM <FORM ACTION="programaPHP"> indicaremos que debe ser procesado una pagina PHP. $result=mysql_query("select * from prueba". } mysql_free_result($result).</td></tr>".%s&nbsp. ejem07d. ?> </table> </body> </html> En este ejemplo hemos utilizado 3 instrucciones nuevas: mysql_query.%s</td> <td>&nbsp. Con la instrucción mysql_query hemos hecho una consulta a la base de datos en el lenguaje de consultas SQL.%s</td><td>&nbsp. $row["Apellidos"]). mysql_fetch_array y mysql_free_result.%s&nbsp. } mysql_free_result($result).$link). con la instrucción mysql_fetch_array extraemos los datos de la consulta a un array y con mysql_free_result liberamos la memoria usada en la consulta. Insertar registros a MySQL Inicio > Bases de Datos MySQL > Insertar registros a MySQL Una vez que nos hemos conectado con el servidor de bases de datos. ?> </table> </body> </html> .phtml <html> <head> <title>Ejemplo de PHP</title> </head> <body> <H1>Ejemplo de uso de bases de datos con PHP y MySQL</H1> <FORM ACTION="procesar. $row["Nombre"]. mysql_close($link).$row["Apellidos"]).</td></tr>".<B>Nombre</B></TD> <TD>&nbsp.phtml"> <TABLE> <TR> <TD>Nombre:</TD> <TD><INPUT TYPE="text" NAME="nombre" SIZE="20" MAXLENGTH="30"></TD> </TR> <TR> <TD>Apellidos:</TD> <TD><INPUT TYPE="text" NAME="apellidos" SIZE="20" MAXLENGTH="30"></TD> </TR> </TABLE> <INPUT TYPE="submit" NAME="accion" VALUE="Grabar"> </FORM> <hr> <?php include("conex.phtml"). ya podemos realizar consultas a las tablas de la base de datos. ?> <TABLE BORDER=1 CELLSPACING=1 CELLPADDING=1> <TR><TD>&nbsp.printf("<tr><td>&nbsp.<B>Apellidos</B>&nbsp.

$link=Conectarse().phtml es un formulario que nos permite introducir nombre y apellido para añadirlo a la base de datos.phtml").$PHP_AUTH_PW. $PHP_AUTH_PW y $PHP_AUTH_TYPE solo funciona si PHP ha sido instalado como un módulo de Apache. si es así tendremos acceso al resto de la página.procesar.phtmlque añadirá los datos a la tabla.phtml"). Nombre de usuario introducido.'. si ha sido instalado como un CGI los ejemplos de ésta sección no funcionarán.. header('HTTP/1. A partir de aquí realizaremos las comprobaciones necesarias para asegurarnos que los datos introducidos son los correctos.phtml se conecta a la base de datos y añade un nuevo registro con la instrucción insert del lenguaje de base de datos SQL. seguido de una consulta que nos muestra el contenido de la tabla prueba. ?> La primera página PHP ejem07d. El formulario llama a la pagina procesar.0 401 Unauthorized'). Para que el navegador nos muestre la ventana de petición de nombre de usuario y contraseña basta con enviar la siguiente cabecera: <?php if (!isset($PHP_AUTH_USER)) { header('WWW-Authenticate: Basic realm="Acceso restringido"'). $apellidos=$_GET['apellidos']. Contraseña introducida. Atención: El acceso restringido a páginas usando las variables globales $PHP_AUTH_USER. este sistema se basa en las variables globales $PHP_AUTH_USER y $PHP_AUTH_PW. } ?> <html> . <?php if (($PHP_AUTH_USER!="Joe") || ($PHP_AUTH_PW!="123")) { header('WWW-Authenticate: Basic realm="Acceso restringido"'). Para conseguir la autentificación en las páginas usaremos el sistema de autentificación del protocolo HTTP.phtml Restringir acceso PHP Inicio > Seguridad > Restringir acceso PHP En esta sección vamos a explicar cómo podemos restringir el acceso a según qué páginas.Apellidos) values ('$nombre'. $nombre=$_GET['nombre'].$link). } else { echo "Ha introducido el nombre de usuario: $PHP_AUTH_USER<br>".. header('HTTP/1. exit. 2. para que solo las personas autorizadas puedan acceder a ciertas partes del nuestro sitio web. echo "Ha introducido la contraseña: $PHP_AUTH_PW<br>". exit. echo 'Authorization Required. echo 'Authorization Required. 1. mysql_query("insert into prueba (Nombre.0 401 Unauthorized'). } ?> Esto provoca que se muestre la ventana de nombre de usuario y contraseña y los datos introducidos se asignen a las variables$PHP_AUTH_USER y $PHP_AUTH_PW. La segunda página procesar.phtml <?php include("conex.'$apellidos')".$PHP_AUTH_USER.'. En el siguiente ejemplo pediremos autorización y comprobaremos si el nombre de usuario es Joe y la contraseña 123. header("Location: ejem07d. Una vez el registro se ha añadido se vuelve a cargar la página ejem07d.

header('HTTP/1. } $fich = file("passwords. esto evidentemente no es una buena solución. } if (!$validado) { header('WWW-Authenticate: Basic realm="Acceso restringido"'). </body> </html> .$fich[$i]). echo 'Authorization Required.0 401 Unauthorized'). ya que de esta forma podemos inhabilitar a un usuario sin ver comprometida la seguridad de nuestro sitio.txt.<head> <title>Ejemplo de PHP</title> </head> <body> Ha conseguido el acceso a la <B>zona restringida</B>.0 401 Unauthorized'). Por ejemplo: passwords. $validado=false. Dicho fichero podría tener el siguiente formato: nombre_de_usuario|contraseña. exit. echo 'Authorization Required. while ($fich[$i] && !$validado) { $campo = explode("|". <?php // if (!isset($PHP_AUTH_USER)) { header('WWW-Authenticate: Basic realm="Acceso restringido"').'. si el nombre de usuario y contraseña coincide con alguna entrada del fichero se nos permite ver el resto de la página. if (($PHP_AUTH_USER==$campo[0]) && ($PHP_AUTH_PW==chop($campo[1]))) $validado=true.'. teniendo un fichero separado con los nombres de usuario y las contraseñas válidas. $i++. </body> </html> Distinción de usuarios PHP Inicio > Seguridad > Distinción de usuarios PHP En la anterior página todo el mundo que tenía acceso a la parte restringida entraba con el mismo nombre de usuario y contraseña. exit. En esta página veremos la forma de realizar esto.txt"). es mejor que cada persona tenga un nombre de usuario y contraseña. } ?> <html> <head> <title>Ejemplo de PHP</title> </head> <body> Ha conseguido el acceso a la <B>zona restringida</B> con el usuario <?php echo $PHP_AUTH_USER?>.txt Joe|1235 Pedro|qwer Noe|Gty45e kermit|rwe4v En este ejemplo se pide la autorización al comienzo de la página si no se ha establecido con anterioridad y se comprueba con el fichero de contraseñas que hemos llamado passwords. $i=0. header('HTTP/1.

¿Qué son? Inicio > Sesiones > Sesiones PHP. El uso de sesiones es un método ampliamente extendido en cualquier aplicación de cierta entidad. Lo contado hasta ahora es teoría pura y es aplicable a cualquier lenguaje de programación C. para ello crearemos un identificador único que asignamos a cada una de estas sesiones de navegación. pero no vemos nada. Por lo tanto lo comentado a partir de aquí es solo aplicable a PHP4. A este identificador de sesión se le denomina. Podemos hacerlo explícitamente. El término sesión en PHP. session en inglés. como la sesión. ?> . mediante la función session_start(). Inserta en las sucesivas páginas la siguiente línea para ver si la sesión está disponible: <?php session_start(). o se retoma la sesión actual. se aplica a esta secuencia de navegación. PHP habrá insertado de forma automática la sesión y ésta será pasada de una página a otra sin hacer nada más. tendrás que crear tus propias librerías de gestión de sesiones o recurrir a alguna de las existentes. El proceso en cualquier lenguaje de programación podría ser algo así: Existe una sesión? Si existe la retomamos Si no existe creamos una nueva Generar un identificador único Y para que no perdamos el hilo de la navegación del usuario deberemos asociar esta sesión a todas las URLs y acciones de formulario. Podemos también crear un cookie que incluya el identificador de sesión.Sesiones PHP. etc. En ambos casos se crea una nueva sesión. Los que programamos en PHP4 tenemos la suerte de que toda la gestión de sesiones la hace el mismo PHP. hasta que lo abandona. si el usuario tiene los cookies activados. comúnmente.session_id(). y no es conveniente fiarse de lo que un usuario pueda o no tener habilitado. ¿Qué son? Si existe una consulta repetida en las listas de PHP. pero es conveniente recordar que la disponibilidad o no de las cookies depende del usuario. Perl. es la relativa al uso de las sesiones. si no existe. Podemos obtener la sesión en cualquier momento mediante la función session_id(). Inicialización Para utilizar sesiones en PHP lo primero es inicializarlas. ?> Esta es la forma más básica. echo 'La sesión actual es: '. Básicamente una sesión es la secuencia de páginas que un usuario visita en un sitio web. como la de PHPLIB Sesiones PHP. Si aún desarrollas PHP3. o al registrar una variable en una sesión mediante session_register('miVariable'). Veamos un sencillo ejemplo: <?php session_start(). Desde un punto de vista práctico la sesión es operativa. echo "He inicializado la sesión". Desde que entra en nuestro sitio. Inicialización Inicio > Sesiones > Sesiones PHP.

y que pertenece únicamente a un usuario. no dejes espacios ni antes del inicio del script. te encontrarás un error de este tipo: Warning: Cannot send session cookie . o modificarlo. En la segunda línea. tal vez. Si tienes los cookies activados. $SID.En este caso session_start() comprueba en los cookies que existe una sesión y continua con ella. que hace referencia al propio script en ejecución y una constante propia de PHP4. '</a>'.headers already sent by (output started at /home/session. Podemos averiguar también el nombre de la sesión. Error común Inicio > Sesiones > Sesiones PHP.php:2) in /home/session. Simplemente por la existencia de una línea en blanco. Para probarlo crea una línea en blanco o con cualquier cosa antes de <?php.$PHP_SELF.'">Contador vale: '. como cualquiera de las que gestiona PHP4. entre otras cosas. ni después de la finalización. pero que reside en un espacio específico en el servidor. el concepto de variable de sesión. te lo aclare un poco más: <?php session_register('contador'). porque las cabeceras ya han sido enviadas. session_id() devuelve el identificador actual.++$_SESSION['contador']. En esta línea hacemos uso de la variable reservada $PHP_SELF. Básicamente es una variable. Como medida práctica. o también cuando se registra una variable de sesión mediante session_register(). Si no has utilizado nunca las sesiones. Te ahorrará muchos disgustos. echo '<a href="'. .'?'. En nuestro ejemplo anterior. Error común Uno de los errores más comunes cuando se utilizan sesiones es dejar líneas en blanco antes de la inicialización de PHP o enviar alguna salida a la pantalla. que contiene el nombre de la sesión y el identificador de la misma.php on line 4 PHP está informando de que no puede activar los cookies en el navegador del usuario. registramos la variable $contador en la primera línea del script.$SID. mediante la función session_name(). Veamos otro ejemplo que. cada vez que recarguemos la página o hagamos click sobre el enlace. el valor de $contador se incrementará en 1. junto con el identificador de sesión. Veamos una prueba práctica: Sesiones PHP. puede resultar un poco abstracto. ?> Como dije anteriormente la sesión se crea o recoge mediante session_start().

Sesiones PHP. Imagina que quisieras crear un sistema de cesta de la compra..' ud: '. Imagina que quisieras crear un sistema de cesta de la compra. en su forma básica podría ser algo así: <?php session_start(). session_register('itemsEnCesta'). Carrito compra Si después de todo lo comentado aún no entiendes para que sirven las sesiones. veamos un ejemplo práctico. veamos un ejemplo práctico.'<br>'. $encontrado=1. if ($item){ if (!isset($itemsEnCesta)){ $itemsEnCesta[$item]=$cantidad. }else{ foreach($itemsEnCesta as $k => $v){ if ($item==$k){ $itemsEnCesta[$k]+=$cantidad. ?> <html> <body> <tt> <form action="<?=$PHP_SELF. $cantidad=$_POST['cantidad'].$SID?>" method="post"> Dime el producto <input type="text" name="item" size="20"><br> Cuantas unidades <input type="text" name="cantidad" size="20"><br> <input type="submit" value="Añadir a la cesta"><br> </form> <? if (isset($itemsEnCesta)){ echo'El contenido de la cesta de la compra es:<br>'. } } $_SESSION['itemsEnCesta']=$itemsEnCesta. } } ?> </tt> </body> </html> .$k. Carrito compra Inicio > Sesiones > Sesiones PHP.Si después de todo lo comentado aún no entiendes para que sirven las sesiones."?". $itemsEnCesta=$_SESSION['itemsEnCesta']. foreach($itemsEnCesta as $k => $v){ echo 'Artículo: '.. } } if (!$encontrado) $itemsEnCesta[$item]=$cantidad.$v. $item=$_POST['item'].

Si no lo encontramos. añadimos el nuevo producto con la correspondiente cantidad a itemsEnCesta en la línea 14. donde empieza el HTML. por lo tanto. permitiendo la identificación del usuario por parte del servidor. . ni tienes que andar pasando valores de una página a otra. Cookies PHP. Y a continuación imprimimos el formulario y los resultados. Con las cookies.. PHP va gestionando estos datos por nosotros. pequeñas porciones de información se quedan registradas en el navegador permitiendo identificar a este a través de diferentes páginas de un mismo sitio e incluso durante visitas entre distintos días. desde el formulario.. lo creamos con el nuevo producto y la cantidad indicada. Funcionamiento La cookie es enviada al navegador desde el servidor y si este la acepta permanece en él. El navegador las envía. a partir de la línea 18. y si encontramos un artículo igual. No necesitas ficheros. es un nuevo artículo. En la 5 si el arrayitemsEnCesta no existe. luego el navegador envía estas cookies al servidor permitiendo así la identificación del cliente en el servidor. hasta el momento en que decidamos almacenar la información donde más nos interese. añadimos la cantidad en la línea 10.Una breve explicación. entre las líneas 8 y 13. ¿Qué son? Inicio > Cookies > Cookies PHP. Si el array existe recorremos su contenido. ¿Te imaginas las posibilidades de un sistema de almacenamiento de información de estas características?. En la línea 4 comprobamos si el usuario ha pasado algún artículo. ni bases de datos. si los hubiera. Realmente las cookies no son mas que cadenas de texto que son enviadas desde el servidor al cliente (navegador) y almacenadas en este. Las páginas piden la cookie al navegador. ¿Qué son? La principal utilidad de las cookies (galletas) es la de solventar el problema de la falta de estado en la navegación a través de las paginas web.

* Dominio. El argumento secure indica que la cookie solo se transmitirá a través de una conexión segura HTTPS. esta función esta disponible a partir de la versión 3 de PHP.domain. * Path. * Value. int setcookie (string Nombre [. para especificar la duración de una cookie. Si ponemos como dominio www. en el cliente se eliminara la cookie que exista con ese nombre. Nombre de la cookie. * Nombre.com como para www. que dura 1 hora (3600 segundos) válida para todo el dominio tutorialphp. int Secure]]]]]) Setcookie() define una cookie que es enviada junto con el resto de la información de la cabecera(header). time()+3600.domain.com. string Valor [. * Expire. Dominio en donde tiene valor la cookie.net .com * Secure.com la cookie se transmite tanto para domain.A continuación vamos a ver como usar las cookies para nuestro beneficio. Cookies PHP.com la cookie no se transmite para domain.net"). Normalmente se usa time() + N. Subdirectorio en donde tiene valor la cookie."tutorialphp. int Expire [. string Path [. Cómo usarlas Inicio > Cookies > Cookies PHP. segundos de duración. Valor que almacenará la cookie en el cliente. "Luis". por lo tanto deberemos realizar la llamada a estas funciones antes de cualquier tag <HTML> o <HEAD>. Si creamos una cookie solamente con el nombre. Cómo usarlas El manejo de cookies en PHP se realiza mediante el uso de la función setcookie. mientras que si ponemos domain. Todos los argumentos excepto el nombre son opcionales. string Dominio [. setcookie("usuario". También podemos reemplazar cualquier argumento con una cadena vacía (""). El argumento expire es un argumento entero que indica la hora en que se eliminara la cookie en el formato de hora que devuelven las funciones UNIX time() y mktime(). Esta es una restricción de las cookies no de PHP."/". En este ejemplo establecemos una cookie de nombre usuario que contiene el valor Luis. Las cookies deben ser enviadas antes de cualquier tag de html.

time()+3600.""). y cuya duración es una hora. usamos un formulario que procesará la páginaprocesar_cookie. </body> </html> En este ejemplo vemos lo fácil que es recuperar el valor de la cookie establecida anteriormente.phtml" METHOD="GET"> <INPUT TYPE="text" NAME="nombre"><BR> <INPUT TYPE="submit" VALUE="Enviar"> </FORM> </body> </html> Se establece la cookie ejemusuario con el valor introducido anteriormente. <html> <head> <title>Ejemplo de PHP</title> </head> <body> <H1>Ejemplo de uso de cookie</H1> Introduzca su nombre: <FORM ACTION="procesar_cookie. Ejemplo de uso En este ejemplo vamos a ver como establecer una cookie y cómo se recupera el valor establecido.Cookies PHP."/". ?> <html> <head> <title>Ejemplo de PHP</title> </head> <body> <H1>Ejemplo de uso de cookie</H1> Se ha establecido una cookie de nombre <b>ejemusuario</b> con el valor: <b><? print $_GET['nombre']. Primero pedimos al usuario que introduzca el valor de su nombre. que guardaremos en una cookie. $_GET['nombre']. <?php setcookie("ejemusuario".phtml. Para ello pediremos al usuario que introduzca su nombre. <html> <head> <title>Ejemplo de PHP</title> </head> . ?></b> que será válida durante 1 hora. Ejemplo de uso Inicio > Cookies > Cookies PHP.

?> </b> </body> </html> Expresiones regulares EE. } else{ echo "No coincide". aquí usaremos slashes ( / ) es decir: / ( expresión ) / [modificadores] después del segundo delimitador es posible añadir algunos modificadores (que en su momento veremos). estas son algunas: preg_match ( http://php. ¿Qué son Inicio > Expresiones regulares > ¿Qué son? ? Las expresiones regulares son cadenas de caracteres que forman un patrón y expresan un texto más extenso.net/eregi ) ereg_replace ( http://php. y el string que servirá para realizar la comparacion: $string = "casa".net/ereg ) eregi ( http://php.<body> <H1>Ejemplo de uso de cookie</H1> Se ha establecido la cookie de nombre <b>ejemusuario</b> vale: <b> <? print $_COOKIE['ejemusuario']. Ahora un ejemplo para que valla quedando mas claro.net/preg_match_all ) ereg ( http://php. para usar esta función se tienen que usar delimitadores.RR. solo no hace la distinción de mayúsculas y minúsculas Y algunas mas. haremos nuestro patrón: $patron = "/ca/". para los primeros ejemplos usare preg_replace .net/eregi_replace ) Nota: las funciones que solo diferencian con un "i" es básicamente lo mismo. } ?> . $string)){ echo "Coincide". en PHP se pueden usar muchas funciones. ahora la comparativa: <?php if( preg_match($patron.net/preg_match ) preg_replace ( http://php.net/ereg_replace ) eregi_replace ( http://php.net/preg_replace ) preg_match_all ( http://php.

} else{ echo "No coincide". "coca" etc. en expresiones regulares ciertos caracteres representan algo especifico. Patrones Inicio > Expresiones regulares > Patrones Eso coincidirá ya que existe "ca" dentro de "casa" si ese string fuera cambiado a "oca". seguiría coincidiendo.*?+^$| Veremos dos primero: ^ Que representa el principio de un patrón y $ que representa el final. pero yo los llamaré así) . buscar el signo de $ . si cambiara a "Casa". logra que no se haga la distinción entre mayúsculas y minúsculas. . ya que hace el distintivo de mayúsculas y minúsculas. si a nuestro ejemplo cambiamos el patrón a: $patron = "/^ca/" Y lo probamos. "coca" . ahí que anteponer un backslash antes ( \$ ). Si lo cambiamos a: $patron = "/ca$/" Tomara solo las que terminen en "ca" .. algunos de los mas usados serian: []().RR. solo mostrara una coincidencia a las palabras que inicien con "ca" . "Casa")){ echo "Coincide". ahora. algo importante.Expresiones regulares EE. Veamos ahora.. "casa" . "oca" . } ?> Ahora si dará "Coincide" ya que con el modificador "i". añadiremos "i" después de el ultimo delimitador: <?php if( preg_match("/ca/i". etc y por ultimo. por ejemplo una cantidad. "campo" etc. si lo cambiamos a: $patron "/^ca$/" Dará solo coincidencia en "ca" ya que expone un inicio y un fin de cadena. para esto usaremos un modificador ( la vedad no se como se llaman . Si queremos buscar una cadena con un carácter especial. no coincidiría mas.

y este desarrollarla independientemente de los avances de los demas ya que los objetos son independientes unos de otros.0 soportaba la sintaxis de la OOP sin embargo en ese tiempo (y un poco ahora) carecia de todas sus caracteristicas. es posible asignar clases especificas que hagan un trabajo especifico a cada programador.Expresiones regulares EE. A * * * * este tiempo PHP soporta todo lo que un lenguaje orientado a objetos en teoria deberia soportar: Encapsulamiento Tipos Abstractos de Datos y ocultamiento de la Información Herencia Polimorfismo PHP no es un lenguaje 100% orientado a objetos sin embargo los soporta. $string = "Caaaaaaaaaaa".RR. Para comprender la POO. OOP en PHP PHP desde su version 3. por ejemplo * + ? El signo * . ¿Qué es? Inicio > PHP Orientado a Objetos > ¿Qué es? Siglas de Programacion Orientada a Objetos (OOP en ingles .Object Oriented Programming .) es una variante de programacion que permite reutilizar gran parte del codigo. por que no sacar provecho de eso. es muy general. solo que coincide si esta presente 0 o 1 vez y por ultimo "+" . ademas de ser muy util en proyectos grandes. Coincidiría. el "?" es lo mismo. toma lo que le precede y coincide si esta presente 0 o mas veces $patron = "/^Ca*/". esto hara mas rapido y practico el desarrollo del proyecto.En proyectos con varios programadores. coincide si esta presente 1 o mas veces. debemos comprender las partes que la conforman: Qué son las clases? . PHP Orientado a Objetos. Ejemplo Inicio > Expresiones regulares > Ejemplo Ejemplo: $patron = "/20\$/" $string = "tengo 20$ dll" Y coincidiría Nota: en preg_match se usan 2 ( \\ ) Existen ciertos caracteres que son como comodines. lo hace mas estetico y legible ya que esta mas orientado a la logica humana.

?> Esto es una clase con un simple metodo que muestra el valor de su unico parametro programado. } } $obj = new Ejemplo(). ?> Aqui la variable $ob seria una instancia de la clase Ejemplo.Los objetos en php se crean con la palabra reservada new. } function MuestraNombre($nombre) { echo "El nombre es " . desarrollan un proceso y devuelven ( o no ) un valor. Constructor El constructor es el metodo que es llamdo automaticamente al crear una instancia de la clase.. (aunque en la version de 5 de PHP sera especificado como _constructor ). $obj->MuestraNombre('Ing_Amc'). se manejan igual. los metodos se definen con la palabra reservada: <?php class Ejemplo { function Ejemplo() { //Do nothing.. <?php class Ejemplo { //Constructor function Ejemplo() { } } $ob = new Ejemplo(). reciben parametros.La clase es una plantilla que usamos para crear objetos. el constructor lleva el mismo nombre de la clase. el ejemplo daria como resultado: El nombre es Ing_Amc . el constructor no debe retornar ningun valor y es unico (distintamente a C plus). para que una clase sea util necesita metodos y atributos: Metodos los metodos (tambien operaciones) no son mas que un tipo de funciones propias de la clase.Pero bien. al crear un objeto de una clase se dice que es una instancia de esa clase. $nombre.

. Atributos Inicio > PHP Orientado a Objetos > Atributos Atributos Los atributos son variables que contienen información del estado de un objeto. es una variable especial referenciada al objeto y atributos de la clase o de la clases heredadas.Estos se definen usando la palabra reservada var. para este proceso es usada la palabra reservada extends seguida de la que sera su clase "padre". Ejemplo: <?php class Ejemplo { var $atributo. ?> Ahora el atributo valdra 4. PHP Orientado a Objetos.. <?php class Ejemplo() { var $atributo. } function DaValor($valor) { $this->atributo = $valor. function Ejemplo() { // Do nothing } . "heredar" (ya lo imaginaban no?) . los metodos y atributos de otra clase.PHP Orientado a Objetos. $this usada en el ejemplo. Herencia Inicio > PHP Orientado a Objetos > Herencia Herencia La herencia permite a una clase. $obj->DaValor(4). function Ejemplo() { //Do nothing. esto nos lleva al siguiente punto. } } $obj = new Ejemplo().

esto en PHP no existe hasta su version 5. ?> Como vez pueden usarse los metodos de las dos clases ya que al instanciar un objeto de la clase Ejemplo2 al ser heredada de Ejemplo adquiere sus elementos. Sistemas de Proteccion Nuevamente. que me supongo (como en el caso de Java) lo prefirieron por practisidad y simplicidad de codigo.function setAtributo($value) { $atributo = $value. ademas de que en muchos casos es desechada por los desarrolladores por la complicacion de uso. Herencia Multiple Inicio > PHP Orientado a Objetos > Herencia Multiple Herencia Multiple en PHP La herencia multiple no es soportada por PHP sin embargo en su version 5 implementan el uso de interfaces. PHP Orientado a Objetos. este es el punto mas bajo del sistema de proteccion. PHP Orientado a Objetos. } } class Ejemplo2 extends Ejemplo { function Ejemplo2() { } function getAtributo() { return $atributo. } } $obj = new Ejemplo2(). $obj->setAtributo(7). echo $obj->getAtributo(). Acceso Public (Publico) Inicio > PHP Orientado a Objetos > Acceso Public (Publico) Acceso Public (Publico) Al ser declarado un metodo o atributo public sera accesible desde cualquier punto. Para . ya que al programar con herencia multiple se puede llegar a formar una jerarquia de clases realmente desordenada.Esto permite hacer a los metodos y atributos de una clase accesibles desde cierto punto.

hemos tenido que instanciar un metodo para devolver el valor de atributo. se usa la palabra reservadapublic. . function Ejemplo() { $this->atributo = 'Hey!'. los elementos declarados bajo private solo seran accesibles desde metodos de su clase original. Acceso Private (Privado) Inicio > PHP Orientado a Objetos > Acceso Private (Privado) Acceso Private (Privado) Este es el más restrictivo.declarar publico. <?php class Ejemplo () { private $atributo. ?> Como vez. function Ejemplo() { $this->atributo = 'Hey!'. <?php class Ejemplo () { public $atributo. echo $obj->daAtributo. echo $obj->atributo. ?> PHP Orientado a Objetos. } } $obj = new Ejemplo(). } function daAtributo() { return $this->atributo. Acceso Protected (Protegido) Con este los elementos seran accesibles desde su clase original o desde clases heredadas. } } $obj = new Ejemplo().

$obj->setNumero(4). Acceso Private (Privado) Inicio > PHP Orientado a Objetos > Ejemplo completo Ejemplo Completo de Clase Simple: <?php class Clase { var $numeros = array().. function Clase() { //Do nothing. $obj->setNumero(6). uno para agregar numeros. } function muestraNumeros() { return implode('.PHP Orientado a Objetos. $this->numeros). } function setNumero($numero) { $this->numeros[] = $numero. donde podemos agregar los numeros que queramos y otra para mostrar los numeros separados por una coma. $obj->setNumero(2). observa que para guardar los numeros es usado un atributo en modalidad de array. . ?> Una clase con dos metodos. el valor de los atributos dentro de la clase es estatico asi que sirve a la perfeccion para nuestro proposito..'. echo $obj->muestraNumeros(). } } $obj = new Clase().

Sign up to vote on this title
UsefulNot useful