FUNDAMENTOS DE PROGRAMACION WEB INSTRUCCIONES: Asignación (aritmética, lógica, variable, constante). Decisión lógica: (funcionamiento y ejemplos. (if)) Ciclos: (do , while, Rompimientos) La asignación es la manera de dar un nombre a una información determinada en el ambiente de programación. La decisión lógica permite programar en el computador actividades o instrucciones que requieren tomar una decisión según una evaluación de una expresión lógica. De estas instrucciones de decisión se presentan las siguientes 3 formas: Decisión simple Decisión Doble Decisión Múltiple Decisión Simple: Decisión Doble: Decisión Múltiple: El Ciclo controlado por condición realiza la ejecución de un mismo bloque de instrucciones tantas veces como lo permita una expresión lógica que se evalúa en cada ciclo. Cuando el resultado de la evaluación de la expresión lógica es VERDADERO, el ciclo se repite ejecutando el bloque de instrucciones programadas; en caso contrario se termina el ciclo y continúa con el programa. FUNCIONES: En toda aplicación más o menos compleja hay bloques de acciones que realizamos más de una vez y PHP no es una excepción, para que no tengamos que escribir estas acciones repetidamente, todos los lenguajes de un nivel más o menos alto incorporan lo que llamamos funciones. Para declarar una función utilizamos la expresión function seguida del nombre que queremos dar a la función, a continuación y entre paréntesis, los argumentos que recibe la función y finalmente y entre corchetes el código que esta debe ejecutar, <?php function miFuncion ($argumento_1, $argumento_2) { // Codigo de la funcion } ?> LLAMAR A UNA FUNCION Una vez creada la función, la debemos llamar como una función prefabricada de PHP, por su nombre pasando los argumentos que necesita <?php miFuncion("hola", "pepe"); ?> ASIGNAR UN VALOR DE REGRESO Es interesante saber que las funciones pueden devolver un valor al lugar donde las llamamos, esto se hace gracias a la instrucción return seguida del valor de retorno. <?php function saludo($nombre,$momento){ return "Hola $nombre buenas $momento"; } echo saludo("Pepe","tardes"); ?> CONFIGURACION DEL ENTORNO WEB TIPOS DE SERVIDROES PARA APLICACIONES WEB. Plataformas de Servidor (Server Platforms): Un término usado a menudo como sinónimo de sistema operativo, la plataforma es el hardware o software subyacentes para un sistema, es decir, el motor que dirige el servidor. Servidores de Aplicaciones (Application Servers): Designados a veces como un tipo de middleware, los servidores de aplicaciones ocupan una gran parte del territorio entre los servidores de bases de datos y el usuario, y a menudo los conectan. Servidores de Audio/Video (Audio/Video Servers): Los servidores de Audio/Video añaden capacidades multimedia a los sitios web permitiéndoles mostrar contenido multimedia en forma de flujo continuo desde el servidor. Servidores de Chat (Chat Servers): Los servidores de chat permiten intercambiar información a una gran cantidad de usuarios ofreciendo la posibilidad de llevar a cabo discusiones en tiempo real. Servidores de Fax (Fax Servers): Un servidor de fax es una solución ideal para organizaciones que tratan de reducir el uso del teléfono pero necesitan enviar documentos por fax. Servidores Groupware (Groupware Servers): Un servidor groupware es un software diseñado para permitir colaborar a los usuarios, sin importar la localización, vía Internet o vía Intranet corporativo y trabajar juntos en una atmósfera virtual. Servidores IRC (IRC Servers): Otra opción para usuarios que buscan la discusión en tiempo real, Internet Relay Chat consiste en varias redes de servidores separadas que permiten que los usuarios conecten el uno al otro vía una red IRC. Servidores de Listas (List Servers): Los servidores de listas ofrecen una manera mejor de manejar listas de correo electrónico, bien sean discusiones interactivas abiertas al público o listas unidireccionales de anuncios, boletines de noticias o publicidad. Servidores de Correo (Mail Servers): Casi tan ubicuos y cruciales como los servidores web, los servidores de correo mueven y almacenan el correo electrónico a través de las redes corporativas y a través de Internet. Servidores de Noticias (News Servers): Los servidores de noticias actúan como fuente de distribución y entrega para los millares de grupos de noticias públicos actualmente accesibles a través de la red de noticias USENET. Servidores Proxy (Proxy Servers): Los servidores proxy se sitúan entre un programa del cliente y un servidor externo para filtrar peticiones, mejorar el funcionamiento y compartir conexiones. Servidores Telnet (Telnet Servers): Un servidor telnet permite a los usuarios entrar en un ordenador huésped y realizar tareas como si estuviera trabajando directamente en ese ordenador. METODOS DE CONEXIÓN DE FORMA ABIERTA Identificar los diversos métodos de conexión abierta (ODBC, JDBC, PDO O NATIVA). ODBC: Un administrador de conexiones ODBC habilita un paquete para conectarse a una serie de sistemas de administración de bases de datos mediante la especificación Conectividad abierta de bases de datos (ODBC). Cuando agrega una conexión ODBC a un paquete y establece las propiedades de administrador de conexiones, SQL Server Integration Services crea un administrador de conexiones y agrega el administrador de conexiones a la colección Connections del paquete. En el tiempo de ejecución el administrador de conexiones se resuelve como una conexión ODBC física. La propiedad ConnectionManagerType del administrador de conexiones se establece en ODBC. Puede configurar el administrador de conexiones ODBC de las maneras siguientes: Proporcionar una cadena de conexión que haga referencia a un nombre del origen de datos de sistema o usuario. Especificar el servidor al que debe conectarse. Indicar si la conexión se conserva en tiempo de ejecución. JDBC: connectivity). Este estándar es muy común sobre todo en entornos Microsoft y sólo debería usarse si no disponemos del driver nativo para nuestro SGBD. En el caso concreto de MySQL y PostgreSQL, no tendremos ningún problema en encontrar los drivers JDBC: MySQL Connector/J: es el driver oficial para MySQL y se distribuye bajo licencia GPL. Es un driver nativo escrito completamente en Java. JDBC para PostgreSQL: es el driver oficial para PostgreSQL y se distribuye bajo licencia BSD. Es un driver nativo escrito completamente en Java. Tanto uno como otro, en su distribución en formato binario, consisten en un fichero .jar (Java archive) que debemos situar en el CLASSPATH de nuestro programa para poder incluir sus clases Java incluye la posibilidad de cargar clases de forma dinámica. Éste es el caso de los controladores de bases de datos: antes de realizar cualquier interacción con las clases de JDBC, es preciso registrar el controlador. Esta tarea se realiza con el siguiente código: String controlador = “com.mysql.jdbc.Driver” Class.forName(controlador).newInstance(); o bien: Class.forName(“org.postgresql.Driver”); A partir de este momento, JDBC está capacitado para interactuar con MySQL o PostgreSQL. PDO: PDO es una librería en PHP para poder actuar sobre bases de datos SQL sin utilizar las funciones básicas que nos proporciona PHP. De esta forma, nos podemos desentender completamente del tipo de base de datos que utilicemos, ya que las funciones valdrán para todas. Solo habrá que indicarle el tipo de base de datos que vayamos a actualizar. Conectando a la base de datos La conexión es un poco distinta, ya que esta librería es orientada a objetos, y se hace distinto a como se suele hacer con las funciones básicas que trae PHP. Un ejemplo de código para realizar la conexión es el siguiente: $host = 'localhost'; $port = 3306; $database = 'Database'; $username = 'Username'; $password = 'Password'; /*Construimos el DSN (Data Source Name). Esta cadena indicará la información de nuestro servidor. */ $dsn = "mysql:host=$host;port=$port;dbname=$database"; // Creamos el objeto $db = new PDO($dsn, $username, $password); Los datos que necesitamos son los mismos que hemos utilizado hasta ahora, pero con PDO, debemos de crear un DSN, donde le indicaremos el tipo de la base de datos, en nuestro caso “mysql”, además de indicar el hots, el puerto y el nombre de la base de datos. Al crear el objeto PDO, es donde indicamos el usuario y contraseña de nuestra base de datos. MÉTODOS DE CONEXIÓN A DATOS USANDO DIRECTAMENTE LOS DRIVERS DEL PROVEEDOR. Identificar los diversos métodos de conexión definidas por el proveedor de base de datos (OLEDB, SQLServer, Oracle, MySQL). OLEDBD: Objeto OleDbConnection que representa una conexión única a un origen de datos. En el caso de un sistema de bases de datos de cliente y servidor, equivale a una conexión de red al servidor. Dependiendo de la funcionalidad que admita el proveedor OLE DB nativo, algunos métodos o propiedades de un objeto OleDbConnection pueden no estar disponibles. Cuando se crea una instancia de OleDbConnection, se establecen todas las propiedades en sus valores iniciales. Para obtener una lista de esos valores, vea el constructor OleDbConnection. Puede abrir más de un objeto DataReader en una conexión OleDbConnection única. Si el proveedor OLE DB que utiliza no admite más de un objeto DataReader en una conexión única, el proveedor abre implícitamente una conexión adicional para cada uno. Si la conexión OleDbConnection está fuera de ámbito, no se cierra. Por consiguiente, es preciso cerrar explícitamente la conexión llamando a Close o Dispose, o utilizando el objeto OleDbConnection en una instrucción Using. <?php //create an instance of the ADO connection object $conn = new COM ("ADODB.Connection") //define connection string, specify database driver $connStr = "PROVIDER=Microsoft.Ace.OLEDB.12.0;Data Source= \\Sample.accdb"; $conn->open($connStr); //Open the connection to the database SQLServer: <?php $myServer = "localhost"; $myUser = "your_name"; $myPass = "your_password"; $myDB = "examples"; //connection to the database $dbhandle = mssql_connect($myServer, $myUser, $myPass) or die("Couldn't connect to SQL Server on $myServer"); //select a database to work with $selected = mssql_select_db($myDB, $dbhandle) or die("Couldn't open database $myDB"); ORACLE: Archivo tnsnames.ora El archivo tnsnames.ora es un lado del cliente del archivo que se asigna un alias utilizado por los programas de cliente a un servicio de base de datos. Se utiliza para conectarse a una base de datos no predeterminado Código PHP: oci_connect ($ un, $ PW, 'MYDB'); entrada tnsnames.ora MYDB = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP) (HOST = mymachine.mydomain)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = MYDB.AU.ORACLE.COM)) ) Cadena de conexión completa Necesita introducir la cadena de conexión completa cuando se conecta a la base de datos en el código. Código PHP: oci_connect ($ ONU, = MYDB))) '); '(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=mymachine.mydomain)(PORT=1521 )) (CONNECT_DATA=(SERVER=DEDICATED) (SERVICE_NAME = MYDB)))'); Cadena de conexión sencilla La cadena de conexión fácil no requiere el uso de un archivo tnsnames.ora, y es una versión abreviada de la cadena de conexión completa. debe tener los Oracle 10 g bibliotecas de cliente para utilizar la cadena de conexión fácil. Código PHP: oci_connect($un, $pw, '//mymachine.mydomain:port/MYDB'); MYSQL: resource mysql_connect ([ string $server = ini_get("mysql.default_host") [, string $username = ini_get("mysql.default_user") [, string $password = ini_get("mysql.default_password") [, bool $new_link = false [,int $client_flags = 0 ]]]]] ) MANIPULACIÓN DE DATOS ATRAVES DE UN PROGRMAMA Identificar la sintaxis y empleo de las instrucciones de inserción, borrado, actualización y consulta de información CONSULTA: INSERCCION: ACTUALIZACION: BORRADO: