PDF de programación - Programación web avanzada III

Imágen de pdf Programación web avanzada III

Programación web avanzada IIIgráfica de visualizaciones

Publicado el 16 de Julio del 2018
930 visualizaciones desde el 16 de Julio del 2018
893,4 KB
79 paginas
Creado hace 5a (22/05/2015)
TECNOLOGICO NACIONAL DE MEXICO
CAMPUS TUXTEPEC



ASIGNATURA:



Programación web avanzada



CARRERA:

Ingeniería en Informática



SEMESTRE: 10to. GRUPO: A

CATEDRATICO:

M.S.C. Víctor Manuel Evaristo Salinas

UNIDAD:

IIII

PRESENTA:

Ricardo Vázquez Pavón



Mayo del 2015, San Juan Bautista Tuxtepec, Oaxaca







Introduccion

Las funciones de acceso a base de datos en PHP no estan estandarizadas. Esto requiere una
libreria que esconda las diferencias entre cada API de base de datos (encapsular las diferencias)
para que podamos cambiar facilmente de base de datos. Se requiere la version de PHP 4.0.5 o
posterior (debido a que usamos la funcion str_replace con arreglos).

Actualmente manejamos MySQL, Oracle, Microsoft SQL Server, Sybase, Sybase SQL
Anywhere, Informix, PostgreSQL, FrontBase, SQLite, Interbase (versiones de Firebird y
Borland), Foxpro, Access, ADO, DB2, SAP DB and ODBC. Tenemos noticias que se puede
conectar a Progress y CacheLite via ODBC. Esperamos que mas personas contribuyan con
drivers para manejar mas base de datos.

PHP4 maneja variables de sesion. Puedes almacenar la informacion de tu sesion usando ADOdb
para tener una verdadera portabilidad y escalabilidad. Para mas informacion ve el archivo adodb-
session.php.

Tambie lee tips_portable_sql-es.htm (tambien dispobible en ingles en el archivo
tips_portable_sql.htm) para consejos para escribir enunciados SQL portables.

Caracteristicas especiales de ADOdb

 Facil para programadores Windows debido a que muchas de las convenciones son

similares al ADO de Microsoft.

 A diferencia de otras clases PHP de base de datos que se enfocas unicamente en el

enunciado SELECT. ADOdb soporta codigo para manajar INSERT y UPDATE que
son rapidamente adaptables a multiples bases de datos. Tambien hay metodos para

manejo de fechas, concatenacion de cadenas y encomillado de cadenas para diferentes
bases de datos.

 Tiene un systema de metatipos (metatype) para poder determinar cuales tipos como

CHAR, TEXT and STRING son equivalentes en diferentes bases de datos.

 Es facil de portar debido a que todo el codigo que depende de la base de datos esta en

funciones. Tu no tienes que portar la logica principal de las clases.

 Creacion de tablas e indices portable con las clases de diccionario de datos datadict.
 Monitor de rendimiento de base de datos y ajuste de enunciados SQL con la clase de

performance monitoring.

 Sesiones en base de datos con la clase session management. Maneja notificacion por

sesion vencida.

 Mapeo a Objectos Relacionales uando la clase ADOdb_Active_Record.

Como se esta usando ADOdb

Aqui hay algunos ejemplos de personas que usan ADOdb (para una lista mas larga, visita
http://adodb.sourceforge.net/):

 PhpLens es un componente comercial de cudricula de datos que permite tanto a

programadores expertos como a inexpertos desarrollar y mantener bases de datos en la
Web facilmente. Desarrollado por el autor de ADOdb.

 PHAkt: PHP Extension for DreamWeaver Ultradev permite hacer programas PHP en el

popular editor de paginas Web. El manejo de la base de datos es con ADOdb.

 Analysis Console for Intrusion Databases (ACID): Motor de analisis para buscar y

procesar una base de datos de incidentes de seguridad generada por otros programas
como IDSes y firewalls (e.g. Snort, ipchains). Por Roman Danyliw.

 PostNuke es una sistema de control de contenidos muy popular. Maneja un soporte

completo de CSS, cumple con HTML 4.01, un sistema avanzado de bloques, y es
completamente multilenguaje.

 EasyPublish CMS es otro sistema de control de contenidos. Para el manejo de

informacion y modulos integrados para tu internet, intranet y extranet. Noruego.

 NOLA es una apliacion completa de contabilidad, inventarios y control de trabajo. Su

licencia es GPL, desarrollado por Noguska.

Solicitud de mejoras y reporte de fallas

Las solicitudes de mejoras o reporte de fallas pueden ser enviadas por correo electronico a
jlim#natsoft.com.my o publicadas en el foro de ayuda de ADOdb en
http://phplens.com/lens/lensforum/topics.php?id=4.

Guia de Instalacion

Asegurate de estar usando PHP 4.0.5 o posterior. Descomprime todos los archivos en un
directorio accesible por tu servidor Web.

Para probar, intenta modificar algunos de los ejemplos del tutorial. Asegurate de corregir los
parametros de coneccion a tus necesidades. Puedes depurar el codigo usando $db->debug = true
como se muestra a continuacion:

<?php



?>

include('adodb/adodb.inc.php');
$db = ADONewConnection($dbdriver); # eg 'mysql' o 'postgres'
$db->debug = true;
$db->Connect($servidor, $usuario, $contraseña, $database);
$rs = $db->Execute('select * from alguna_tabla_pequeña');
print "<pre>";
print_r($rs->GetRows());
print "</pre>";

Instalacion Minima

Para los desarrolladores que quieran distribuir una version minima de ADOdb, se requieren los
siguientes archivos:

adodb.inc.php
adodb-lib.inc.php
adodb-time.inc.php




 drivers/adodb-$database.inc.php
license.txt (por razones legales)

adodb-php4.inc.php

adodb-iterator.inc.php (funcionaldiad para PHP5)


Opcionalmente:







adodb-error.inc.php y lang/adodb-$lang.inc.php (si usas MetaError())
adodb-csvlib.inc.php (si usas recordsets en memoria - CacheExecute(), etc)
adodb-exceptions.inc.php y adodb-errorhandler.inc.php (si usas el manejo de errores de
ADOdb o excepciones de PHP5).
adodb-active-record.inc.php si usas Active Records.

Ejemplos de Codigo de Inicio

Al ejecutar ADOdb, al menos se cargan dos archivos. Primero adodb/adodb.inc.php, que
contienen todas las funciones usadas por todas las clases de bases de datos. El codigo especifico
a una base de datos en particular esta en el archivo adodb/driver/adodb-????.inc.php.

Por ejemplo, para conectarse a una base de datos mysql:

include('adodb/adodb.inc.php');
$conn = &ADONewConnection('mysql');

Cada vez que necesitas conectarte a una base de datos, debes de crear un objeto de conexion
usando la funcion ADONewConnection($driver). NewADOConnection($driver) es un nombre
alterno para la misma funcion.

En este momento, no estas conectado a la base de datos (ya no es cierto si como parametro usas
un dsn). Primero tienes que decidir si vas a usar una coneccion persistente o no persistente. La
ventaja de las conexiones persistentes es que son mas rapidas, debido a que la conexion no es
cerrada nunca (aun si usas Close()). Las conexiones No persistentes consumen menos recursos
reduciendo el riesgo de sobrecargar la base de datos o el servidor Web.

Para conexiones persistentes, usa $conn->PConnect(), o $conn->Connect() para conexiones no
persistentes. Algunas bases de datos tambien manejan NConnect(), la cual forza la creacion de
una nueva conexion.

Problemas con Conexiones: Si creas dos conexiones, pero ambas usan el mismo usuario y
contraseña, PHP compartira las conexiones. Esto puede causar problemas si se supone que las
conexiones son a diferentes bases de datos. La solucion es usar siempre diferentes usuarios para
diferentes bases de datos o usar NConnect().

Soporte a Data Source Name (DSN)

Desde la version 4.51 de ADOdb, te puedes conectar a la base de datos pasando como argumento
a NewADOConnection() (o ADONewConnection, que es la misma funcion) un dsn. El formato
del dsn es:

$driver://$username:$password@hostname/$database?options[=value]

NewADOConnection() llama a Connect() o PConnect() internamente por ti. Si la conexion falla,
te regresa false.

# Conexion no persistente
$dsn = 'mysql://root:pwd@localhost/mydb';
$db = NewADOConnection($dsn);
if (!$db) die("Conexion incorrecta");

# no se requiere llamar connect/pconnect!
$arr = $db->GetArray("select * from table");

# conexion persistente
$dsn2 = 'mysql://root:pwd@localhost/mydb?persist';

Si tienes caracteres especiales como /:?_ en tu dsn, entonces tienes que invocar a rawurlencode
primero:

$pwd = rawurlencode($pwd);
$dsn = "mysql://root:$pwd@localhost/mydb";
$dsn2=rawurlencode("sybase_ase")."://user:pass@host/path?query";

Las opciones permitidas son:

Para todas los drivers 'persist', 'persistent', 'debug', 'fetchmode', 'new'

Interbase/Firebird

'dialect','charset','buffers','role'

M'soft ADO

'charpage'

MySQL

MySQLi

Oci8

'clientflags'

'port', 'socket', 'clientflags'

'nls_date_format','charset'

Para todos los drivers, cuando se activa la opcion persist o persistent, se forza una
conexionpersistente; asi mismo, cuando se activa new, entonces la conexion se creara usando
NConnect si el driver lo maneja. La opcion debug habilita la depuracion. La opcion fetchmode
invoca SetFetchMode(). Si no se le indica el valor a alguna oopcion se asume el valor de 1.

La version DSN de ADOdb DSN es compatible con el formato de la version 1.0 de PEAR DB.

Ejemplos de Conexion a Bases de Datos

MySQL y la mayoria de bases de datos

Las conexiones a MySQL son muy sencillas, y los parametros son identicos a mysql_connect:

$conn = &ADONewConnection('mysql');
$conn->PConnect('localhost','usuario','contraseña','database');

# o dsn
$dsn = 'mysql://user:pwd@localhost/mydb';
$conn = ADONewConnection($dsn); # no necesita Connect()

# o dsn persistente
$dsn = 'mysql://user:pwd@localhost/mydb?persist';
$conn = ADONewConnection($dsn); # no necesita PConnect()

# un ejemplo mas complejo:
$pwd = urlencode($pwd);
$flags = MYSQL_CLIENT_COMPRESS;
$dsn = "mysql://user:$pwd@localhost/mydb?persist&clientflags=$flags";
$conn = ADONewConnection($dsn); # no need for PConnect()


La may
  • Links de descarga
http://lwp-l.com/pdf12557

Comentarios de: Programación web avanzada III (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad