Professional Documents
Culture Documents
Bien, pero ¿qué significa realmente? Un ejemplo nos aclarará las cosas:
<!DOCTYPE HTML>
<html>
<head>
<title>Ejemplo</title>
</head>
<body>
<?php
echo "¡Hola, soy un script de PHP!";
?>
</body>
</html>
En lugar de usar muchos comandos para mostrar HTML (como en C o en Perl), las
páginas de PHP contienen HTML con código incrustado que hace "algo" (en este caso,
mostrar "¡Hola, soy un script de PHP!). El código de PHP está encerrado entre
las etiquetas especiales de comienzo y final <?php y ?> que permiten entrar y salir del
"modo PHP".
Lo que distingue a PHP de algo del lado del cliente como Javascript es que el código es
ejecutado en el servidor, generando HTML y enviándolo al cliente. El cliente recibirá el
resultado de ejecutar el script, aunque no se sabrá el código subyacente que era. El
servidor web puede ser configurado incluso para que procese todos los ficheros HTML
con PHP, por lo que no hay manera de que los usuarios puedan saber qué se tiene
debajo de la manga.
Aunque el desarrollo de PHP está centrado en la programación de scripts del lado del
servidor, se puede utilizar para muchas otras cosas. Siga leyendo y descubra más en la
sección ¿Qué puede hacer PHP?, o vaya directo al tutorial introductorio si solamente
está interesado en programación web.
PHP se utiliza para generar páginas web dinámicas. Recordar que llamamos página estática a aquella cuyos
contenidos permanecen siempre igual, mientras que llamamos páginas dinámicas a aquellas cuyo contenido no
es el mismo siempre. Por ejemplo, los contenidos pueden cambiar en base a los cambios que haya en una base
de datos, de búsquedas o aportaciones de los usuarios, etc.
¿Cómo trabaja PHP? El lenguaje PHP se procesa en servidores, que son potentes ordenadores con un software
y hardware especial. Cuando se escribe una dirección tipo http://www.aprenderaprogramar.com/index.php en
un navegador web como Internet Explorer, Firefox o Chrome, ¿qué ocurre? Se envían los datos de la solicitud
al servidor que los procesa, reúne los datos (por eso decimos que es un proceso dinámico) y el servidor lo que
devuelve es una página HTML como si fuera estática.
El esquema es: Petición de página web al servidor --> El servidor recibe la petición, reúne la información
necesaria consultando a bases de datos o a otras páginas webs, otros servidores, etc --> El servidor responde
enviando una página web “normal” (estática) pero cuya creación ha sido dinámica (realizando procesos de modo
que la página web devuelta no siempre es igual).
En resumen:
Zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
PHP puede ser utilizado en cualquiera de los principales sistemas operativos del
mercado, incluyendo Linux integrado y Linux, muchas variantes Unix
(incluyendo HP-UX, Solaris y OpenBSD), Mac OS X, RISC OS y seguramente
algunos más. PHP soporta la mayoría de servidores web de hoy en día,
incluyendo Apache, Personal Web Server, Netscape e iPlanet, Oreilly Website
Pro server, Caudium, Xitami, OmniHTTPd y muchos otros. PHP tiene módulos
disponibles para la mayoría de los servidores, para aquellos otros que soporten el
estándar CGI, PHP puede usarse como procesador CGI.
También se cuenta con una extensión DBX de abstracción de base de datos que
permite usar de forma transparente cualquier base de datos soportada por la
extensión. Adicionalmente, PHP soporta ODBC (el Estándar Abierto de
Conexión con Bases de Datos), asi que se puede conectar a cualquier base de
datos que soporte tal estándar.
PHP también cuenta con soporte para comunicarse con otros servicios usando
protocolos tales como LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (en
Windows) y muchos otros. Se pueden crear sockets puros. PHP soporta WDDX
para el intercambio de datos entre lenguajes de programación en web. Y
hablando de interconexión, PHP puede utilizar objetos Java de forma
transparente como objetos PHP y la extensión de CORBA puede ser utilizada
para acceder a objetos remotos.
PHP tiene unas características muy útiles para el procesamiento de texto, desde
expresiones regulares POSIX extendidas ó tipo Perl hasta procesadores de
documentos XML. Para procesar y acceder a documentos XML, soporta los
estándares SAX y DOM. Puede utilizar la extensión XSLT para transformar
documentos XML.
Para terminar, cuenta con muchas otras extensiones muy interesantes, las
funciones del motor de búsquedas mnoGoSearch, funciones para pasarelas de
IRC, utilidades de compresión (gzip, bz2), conversión de calendarios, traducción,
etc.
Ejemplos útiles:
- galerias de imagenes
- foros -> invision board, phpBB, vBulletin
- libros de visita ->fusiongbook, radikal guestbook
- manejadores de noticias -> fusionnews, cutenews
- cms (content manager system) -> phpnuke, xoop
no se q + usos, pero de q hay hartos más los hay, y de q habrán más, te aseguro q habrán
más, cada día programadores de todo el mundo estan desarrollando + librerías para
extender las funcionalidades de php.
Cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
Todos los planes de hosting de Hostinet disponen de MySQL para poder crear y gestionar
el contenido en bases de datos.
Esta entrada y otras relacionadas pertenecen a nuestro Curso cPanel creado por Hostinet.
Si te ha gustado esta entrada y quieres recibir más información útil por email puedes
suscribirte a esta sección dejando tu correo en este enlace, solamente te enviaremos
información de ayuda para tu hosting y dominio.
¿Qué tengo que hacer?
MySQL es el sistema gestor de bases de datos de código abierto más popular en
la actualidad. MySQL está disponible para distintos sistemas operativos, como
Linux, Mac OS X, Solaris, Windows y otros más. MySQL es muy popular en el
desarrollo de aplicaciones web, ya que forma parte como sistema gestor de bases
de datos de las plataformas LAMP, BAMP, MAMP y WAMP.
En esta práctica tienes que crear una base de datos en MySQL para almacenar
los datos que emplea el sitio web. La base de datos se tiene que llamar "pibd" y
tiene que tener las siguientes tablas (se indica el tipo de dato más apropiado para
cada columna, pero se puede cambiar según la necesidad de cada uno):
Tabla Usuarios
Tabla Paises
Tabla Albumes
Tabla Fotos
dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
ddd
Apache Software Foundation (ASF) es una organización sin fines de lucro (una fundación)
creada para dar soporte a los proyectos de software bajo la denominación Apache, incluyendo
el popular servidor HTTP Apache. La ASF se formó a partir del llamado Grupo Apache y fue
registrada en Delaware (Estados Unidos), en junio de 1999.
Apache Software Foundation es una comunidad descentralizada de desarrolladores que
trabajan cada uno en sus propios proyectos de código abierto. Los proyectos Apache se
caracterizan por un modelo de desarrollo basado en el consenso y la colaboración y en
una licencia de software abierta y pragmática. Cada proyecto es gestionado por un grupo
autoseleccionado de expertos técnicos que son participantes activos en dicho proyecto. La
ASF es una meritocracia, de lo que se deriva que la pertenencia a la fundación se permite sólo
a voluntarios que hayan contribuido significativamente a proyectos Apache.
Entre los objetivos de la ASF se encuentran el de proporcionar protección legal a los
voluntarios que trabajan en proyectos Apache, y al propio nombre Apache de ser empleado
por otras organizaciones. El proyecto Apache es el origen de la Licencia Apache y de todas
las licencias que siguen un esquema similar (llamadas licencias "estilo
Base contiene asistentes para ayudar a los usuarios nuevos en el diseño de bases
de datos (o simplemente nuevos en Base) a crear tablas, consultas, formularios e
informes, junto con un conjunto predefinido de definiciones de tablas para
controlar activos, clientes, ordenes de venta, facturas y mucho más.
Para un uso personal de bases de datos Base es lo único que se
necesita, Base ofrece el motor completo de bases de datos relacionales HSQL
configurado para uso individual, con los datos almacenados en el archivo de Base;
también ofrece soporte nativo para archivos de dBase.
Para más información sobre como trabajar con Base vea la página de Base del
wiki de OpenOffice.
Para información técnica o para ayudar a mejorar Base visite la página del
proyecto Base.
Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Tuplas
Una tupla es una secuencia de valores agrupados.
Una tupla sirve para agrupar, como si fueran un único valor, varios valores que,
por su naturaleza, deben ir juntos.
El tipo de datos que representa a las tuplas se llama tuple. El tipo tuple es
inmutable: una tupla no puede ser modificada una vez que ha sido creada.
Una tupla puede ser creada poniendo los valores separados por comas y entre
paréntesis. Por ejemplo, podemos crear una tupla que tenga el nombre y el
apellido de una persona:
>>> a, b, c = persona
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: need more than 2 values to unpack
Además, también es posible extraer los valores usando su índice, al igual que con
las listas:
>>> persona[1]
'Los Palotes'
Comparación de tuplas
Dos tuplas son iguales cuando tienen el mismo tamaño y cada uno de sus
elementos correspondientes tienen el mismo valor:
>>> (1, 2) == (3 / 2, 1 + 1)
True
>>> (6, 1) == (6, 2)
False
>>> (6, 1) == (6, 1, 0)
False
Para determinar si una tupla es menor que otra, se utiliza lo que se
denomina orden lexicográfico. Si los elementos en la primera posición de ambas
tuplas son distintos, ellos determinan el ordenamiento de las tuplas:
Si los elementos respectivos siguen siendo iguales, entonces se sigue probando con
los siguientes uno por uno, hasta encontrar dos distintos. Si a una tupla se le
acaban los elementos para comparar antes que a la otra, entonces es considerada
menor que la otra:
>>> a = (2, 3)
>>> b = (7, 15)
>>> distancia(a, b)
13.0
Una tupla puede contener otras tuplas. Por ejemplo, una persona puede ser
descrita por su nombre, su rut y su fecha de nacimiento:
A veces a uno le interesa sólo uno de los valores de la tupla. Para evitar crear
variables innecesarias, se suele asignar estos valores a la variable _. Por ejemplo, si
sólo nos interesa el mes en que nació la persona, podemos obtenerlo así:
Una tabla de datos generalmente se representa como una lista de tuplas. Por
ejemplo, la información de los alumnos que están tomando un ramo puede ser
representada así:
alumnos = [
('Perico', 'Los Palotes', '201199001-5', 'Civil'),
('Fulano', 'De Tal', '201199002-6', 'Electrica'),
('Fulano', 'De Tal', '201199003-7', 'Mecanica'),
]
>>> t = (12,)
>>> len(t)
1
Además, se puede convertir una tupla en una lista usando la función list, y una
lista en una tupla usando la función tuple:
>>> a = (1, 2, 3)
>>> b = [4, 5, 6]
>>> list(a)
[1, 2, 3]
>>> tuple(b)
(4, 5, 6)
Ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
Filas en Excel
Son estructuras de datos cuyos elementos pueden ser de diferentes tipos. En los registros se puede almacenar una
variedad de información sobre una persona (nombre, estado civil, edad, fecha de nacimiento, etc.).
Cada elemento se almacena en un campo de registro independiente y se puede referenciar cada elemento
almacenado en un campo por su nombre.
Tambien, se puede decir que un registro (record) es un tipo de dato estructurado que consta de un conjunto de
elementos que pueden ser del mismo tipo o no. Los componentes de un registro se denominan campos, cada campo
tiene un nombre llamado identificador del campo.
Formato:
TYPE
tipo_registro= record
lista_1: tipo_dato1;
lista_2 tipo_dato2;
lista_3 tipo_dato3;
.
.
.
lista_n:tipo_daton;
end;
donde,
tipo_registro es el nombre de la estructura.
lista_1, lista_2, lista_3 ... linsta_n son los nombres de los campos.
dato1, dato2, dato3 ... daton son los tipos de datos de cada campo.
VAR
nombre_reg:tipo_registro;
Ejemplo: Declarar un registro de empleados cuyos campos son: nombre, edad, direccin y salario
TYPE
empleado= record
nombre:string[30];
edad:integer;
direccion:string[40];
salarios:real;
end;
VAR
trabajador:empleado;
graficamente seria
nombre: Juan Perez
edad:22
direccion: calle 50, barquisimeto estado Lara.
salario12345
Acceso a los campos de un registro: Se puede acceder a cada campo de un registro directamente usando un
designador o selectro de campo.
Formato: nombre_registro.nombre_campo
Ejemplo:
trabajador.nombre
trabajador.edad
trabajador.direccion
trabajador.salario
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
Atributos
Además de las variables de instancia hay variables de clase, las cuales se aplican
a la clase y a todas sus instancias. Por ejemplo, el número de ruedas de un
automóvil es el mismo cuatro, para todos los automóviles.
Comportamiento
Del mismo modo que hay variables de instancia y de clase, también hay métodos
de instancia y de clase. En el primer caso, un objeto llama a un método para
realizar una determinada tarea, en el segundo, el método se llama desde la propia
clase.
El proyecto
El proyecto consta de dos archivos, el primero contiene la clase Rectangulo que
se guarda en el archivo Rectangulo.java y no tiene el método main. La última
casilla del asistente de creación de clases New Java File debe de estar
desactivada.
La clase
Para crear una clase se utiliza la palabra reservada class y a continuación el
nombre de la clase. La definición de la clase se pone entre las llaves de apertura y
cierre. El nombre de la clase empieza por letra mayúscula.
class Rectangulo{
//miembros dato
//funciones miembro
}
Vamos a crear una clase denominada Rectangulo, que describa las características
comunes a estas figuras planas que son las siguientes:
Cuando se llama a la función, los argumentos arg1, arg2, arg3 se copian en los
parámetros parm1, parm2, parm3 y se ejecutan las sentencias dentro de la
función. La función finaliza cuando se llega al final de su bloque de definición o
cuando encuentra una sentencia return.
Cuando se llama a la función, el valor devuelto mediante la sentencia return se
asigna a la variable retorno.
Cuando una función no devuelve nada se dice de tipo void. Para llamar a la
función, se escribe
objeto.nombreFuncion(arg1, arg2, arg3);
Estudiaremos más adelante con más detalle como se definen las funciones.
Una función suele finalizar cuando llega al final del bloque de su definición
void funcion(....){
//sentencias...
}
Una función puede devolver un valor (un tipo de dato primitivo o un objeto).
double funcion(....){
double suma=0.0;
//sentencias...
return suma;
}
Se ha de tener en cuenta que las funciones miembro tienen acceso a los miembros
dato, por tanto, es importante en el diseño de una clase decidir qué variables son
miembros dato, qué variables son locales a las funciones miembro, y qué valores
les pasamos a dichas funciones. Los ejemplos nos ayudarán a entender esta
distinción.
Atributo (informática)
Espacios de nombres
Página
Discusión
Acciones de página
Ver
Ver código
Historial
Cuando un usuario rellena un formulario en una página web los datos hay que enviarlos de alguna manera.
Vamos a considerar las dos formas de envío de datos posibles: usando el método POST o usando el método
GET.
En el ejemplo anterior la acción que se ejecutará cuando el usuario pulse el botón “Enviar” (submit) será el envío
de los datos a la url especificada usando el método get.
Veamos el aspecto de un formulario cualquiera para hacernos una idea general.
Este formulario consta de varios campos que al usuario se le solicitan como Nombre, Apellidos, Correo
electrónico, País y Mensaje. Posiblemente los nombres de los campos en el código HTML sean del tipo
nombre_user, apellidos_user, email_user, pais_user y msg.
La diferencia entre los métodos get y post radica en la forma de enviar los datos a la página cuando se pulsa el
botón “Enviar”. Mientras que el método GET envía los datos usando la URL, el método POST los envía de forma
que no podemos verlos (en un segundo plano u "ocultos" al usuario).
http://www.aprenderaprogramar.com/newuser.php?nombre=Pepe&apellido=Flores&email=h5
2turam%40uco.es&sexo=Mujer
En esta URL podemos distinguir varias partes: http://www.aprenderaprogramar.com/newuser.php es
la dirección web en sí.
El símbolo ? indica dónde empiezan los parámetros que se reciben desde el formulario que ha enviado los datos
a la página.
Después del símbolo ? aparecen parejas de datos con su nombre y valor separadas por el símbolo &. Las
parejas dato1=valor1, dato2=valor2, dato3=valor3… reflejan el nombre y el valor de los campos enviados por
el formulario.
Por ejemplo: nombre=Pepe, apellidos=Flores, etc. nos dice que el campo del formulario que se denomina
nombre llega con valor “Pepe” mientras que el campo del formulario que se denomina apellidos llega con valor
“Flores”. Estos valores son recibidos en la página web de destino del formulario.
Tener en cuenta que para separar la primera pareja de la dirección web en sí se usa el símbolo ‘?’ y para separar
las restantes parejas entre sí se usa el símbolo ‘&’.
Otro aspecto a tener en cuenta es que determinados caracteres no son recibidos en la URL de la misma forma
exactamente en que fueron escritos en el formulario. Por ejemplo, el valor del campo email que se recibe en la
URL es h52turam%40uco.es, mientras que el usuario en el formulario habrá introducido con toda
seguridad h52turam@uco.es. Como vemos, el carácter @ ha sido sustituido por los caracteres %40. Estas
equivalencias se introducen automáticamente en la transmisión de datos debido a que las URLs no admiten
determinados caracteres como letras con tildes, arrobas y otros. No debes preocuparte por esta codificación, ya
que si posteriormente rescatamos los valores mediante otros mecanismos volveremos a obtener el texto original.
Simplemente, conviene conocer esta circunstancia para no pensar que están ocurriendo cosas extrañas o
errores.
Hemos visto el resultado de un envío por el método GET. En el caso de un envío de datos usando el método
POST, aunque estos datos también serán enviados (de una forma que podemos denominar “oculta”), no los
podremos ver en la URL. Para poder recuperar los valores de los campos en el caso de un envío con el método
POST necesitaríamos otras herramientas (por ejemplo valernos del lenguaje PHP para recuperar el valor de esos
campos).
El resultado final con ambos métodos podemos decir que es el mismo: la información se transmite de un lado a
otro. La diferencia radica en que con el método GET podemos ver directamente los parámetros pasados ya que
están dentro de la URL mientras que con el método POST los parámetros quedan ocultos y para rescatarlos hay
que usar otras herramientas.
Tanto GET como POST son métodos de envío de la información de los formularios válidos y ampliamente
utilizados. Cada método tiene sus ventajas y sus inconvenientes y no se puede decir que uno sea mejor que
otro. Elegir entre un método y otro depende de la aplicación concreta que se esté desarrollando y es algo que
dentro de las empresas de desarrollos web suelen decidir los encargados del diseño de las aplicaciones. A
nosotros en este curso básico simplemente nos interesa conocer la existencia de ambos métodos y sus
características.
Para terminar, en la siguiente tabla mostramos un resumen de las diferencias entre GET y POST:
MÉTODO CONCEPTO OBSERVACIONES
POST consiste en
datos "ocultos"
La ventaja de usar POST es que estos datos no son
(porque el cliente no
visibles al usuario de la web. En el caso de usar
los ve) enviados por
get, el propio usuario podría modificar la URL
POST un formulario cuyo
escribiendo diferentes parámetros a los reales en su
método de envío es
navegador, dando lugar a que la información
post. Es adecuado
tratada no sea la prevista.
para formularios. Los
datos no son visibles.
Se suele prestar a confusión ya que tanto GET como POST son métodos
del protocolo HTTP el cual esta compuesto por un envío al servidor
conocido como petición (request) y una respuesta a dicha solicitud
(response).
Tanto GET como POST, justamente por ser métodos ambos de HTTP,
ejecutan un request y response, y a mi criterio esto suele ser parte de la
confusión sobre los objetivos reales de ambos métodos.