Share
Embed
Transcript
109 slides
-
Anoia PHP Conference Anoia PHP Conference Igualada, noviembre 2007 Igualada,
noviembre 2007 Introducción, instalación y uso. Introducción, instalación y uso. -
Agenda Agenda ►Un poco de historia Un poco de historia
►Características generales Características generales ►Configurar una plataforma PHP Configurar una plataforma PHP ►Configurar un entorno de desarrollo Configurar un entorno de desarrollo ►Anatomía del lenguaje y sintaxis Anatomía del lenguaje y sintaxis ►Extensiones y librerías Extensiones y librerías ►Ejemplo práctico: Portal de ocio Ejemplo práctico: Portal de ocio -
►PHP PHP Creado por Rasmus Lerford Creado por Rasmus
Lerford en 1995 en 1995 Inicialmente un conjunto de Inicialmente un conjunto de scripts en Perl scripts en Perl La versión en C permitía La versión en C permitía acceder a BBDD acceder a BBDD Código fuente publico Código fuente publico Un poco de historia Un poco de historia -
►PHP PHP Funcionalidad básica Funcionalidad básica Variables estilo
Perl Variables estilo Perl Embebido en HTML Embebido en HTML Interpretación de las variables de un formulario Interpretación de las variables de un formulario Cambio de nombre PHP/FI Cambio de nombre PHP/FI ►P Personal ersonal H Home ome P Page age ►F Forms orms I Interpreter nterpreter Un poco de historia Un poco de historia -
►PHP/FI 2.0 PHP/FI 2.0 Lanzada en noviembre 1997 Lanzada
en noviembre 1997 Ya tenia una comunidad de miles de usuarios Ya tenia una comunidad de miles de usuarios alrededor del mundo. alrededor del mundo. 50K dominios en todo el mundo (1% Internet) 50K dominios en todo el mundo (1% Internet) Mucha gente colaborando en el código Mucha gente colaborando en el código Casi todas sus versiones fueron BETA Casi todas sus versiones fueron BETA Un poco de historia Un poco de historia -
►PHP 3.0 PHP 3.0 Creada en 1997 y publica
en junio del 1998 Creada en 1997 y publica en junio del 1998 La primera versión que se asemeja a la actual La primera versión que se asemeja a la actual Creada por Andi Gutmans y Zeev Suraski Creada por Andi Gutmans y Zeev Suraski Andi, Zeev y Rasmus anunciaron PHP 3 como el Andi, Zeev y Rasmus anunciaron PHP 3 como el sucesor oficial de PHP/FI 2.0 sucesor oficial de PHP/FI 2.0 Creación de ZEND Creación de ZEND ZEND = ZEND = Ze Zeev + A ev + And ndi i Un poco de historia Un poco de historia -
►PHP 3.0 PHP 3.0 Del corazón a las extensiones
Del corazón a las extensiones Normalización de los nombres de funciones y Normalización de los nombres de funciones y constantes. constantes. Cambio en las siglas del acrónimo PHP Cambio en las siglas del acrónimo PHP En su pico, fue instalado en el 10% de los En su pico, fue instalado en el 10% de los servidores de Internet. servidores de Internet. Un poco de historia Un poco de historia -
►PHP 4.0 PHP 4.0 1998 se comenzó a desarrollar
una reescritura 1998 se comenzó a desarrollar una reescritura de PHP, y se hizo publico en mayo del 2000. de PHP, y se hizo publico en mayo del 2000. Creación del Zend Engine a mediados de 1999 Creación del Zend Engine a mediados de 1999 Características destacables Características destacables ►Soporte para mas servidores Web Soporte para mas servidores Web ►Sesiones (frente a cookies) Sesiones (frente a cookies) ►Buffer de salida Buffer de salida ►Opciones de seguridad Opciones de seguridad 20% del uso en Internet 20% del uso en Internet Un poco de historia Un poco de historia -
►PHP 5.0 PHP 5.0 Lanzado en julio del 2004
Lanzado en julio del 2004 Incluye el Zend Engine 2.0 Incluye el Zend Engine 2.0 Características principales Características principales ►Nuevo modelo de objetos Nuevo modelo de objetos ►Excepciones Excepciones ►Mas facilidades para trabajar con XML Mas facilidades para trabajar con XML Un poco de historia Un poco de historia -
Grandes hitos entres versiones Grandes hitos entres versiones ►PHP 4
vs PHP 5 PHP 4 vs PHP 5 Type hinting: Forzar el tipo y metodo de un Type hinting: Forzar el tipo y metodo de un parametro. parametro. Todos los objetos son pasados por referencia. Todos los objetos son pasados por referencia. Constantes dentro de una clase. Constantes dentro de una clase. Clases: Abstractas, interfaces, constantes a nivel Clases: Abstractas, interfaces, constantes a nivel de clase, visibilidad de clase, visibilidad Nuevas extensiónes Nuevas extensiónes ►SimpleXML SimpleXML ►PDO PDO -
Grandes hitos entres versiones Grandes hitos entres versiones ►PHP 4
vs PHP 5 PHP 4 vs PHP 5 Excepciones: Para el control de errores Excepciones: Para el control de errores Nuevo nivel de error_reporting: E_STRICT Nuevo nivel de error_reporting: E_STRICT ►Detecta código obsoleto Detecta código obsoleto -
Grandes hitos entres versiones Grandes hitos entres versiones ►PHP 5
vs PHP 6 PHP 5 vs PHP 6 Unicode Unicode ►PHP 6 = PHP 5 + UNICODE PHP 6 = PHP 5 + UNICODE ►PHP 5 = PHP 6 – UNICODE PHP 5 = PHP 6 – UNICODE ►UNICODE = PHP 6 – PHP 5 UNICODE = PHP 6 – PHP 5 Namespaces Namespaces Se quitaran definitivamente Se quitaran definitivamente ►register_globals register_globals -
Características de PHP Características de PHP ►Lenguaje de scripting Lenguaje
de scripting ►Ejecutado en el servidor Ejecutado en el servidor ►Open Source Open Source ►Especialmente diseñado para el desarrollo de Especialmente diseñado para el desarrollo de aplicaciones Web aplicaciones Web Apto para la línea de comandos Apto para la línea de comandos Aplicaciones graficas con PHP-GTK Aplicaciones graficas con PHP-GTK ►Combina la programación procedural y la Combina la programación procedural y la programación orientada a objetos. programación orientada a objetos. -
¿Qué puedo hacer con PHP? ¿Qué puedo hacer con PHP?
► Aplicaciones Aplicaciones Web Web Línea de comando (tareas programadas, cron) Línea de comando (tareas programadas, cron) Aplicaciones de escritorio: PHP-GTK Aplicaciones de escritorio: PHP-GTK ► En la mayoría de sistemas operativos En la mayoría de sistemas operativos ► En la mayoría de servidores Web En la mayoría de servidores Web ► Generar dinámicamente Generar dinámicamente HTML HTML Imágenes Imágenes PDF PDF ZIP ZIP -
¿Qué mas puedo hacer con PHP? ¿Qué mas puedo hacer
con PHP? ►Abstracción de BBDD (PDO y ODBC) Abstracción de BBDD (PDO y ODBC) ►Comunicarse con otros protocolos Comunicarse con otros protocolos ►Procesar textos en distintos formatos Procesar textos en distintos formatos ►Otras funciones (compresión) Otras funciones (compresión) -
¿Qué no puedo hacer con PHP? ¿Qué no puedo hacer
con PHP? ►Acceder al hardware directamente (memoria Acceder al hardware directamente (memoria RAM, tarjeta gráfica, etc.) RAM, tarjeta gráfica, etc.) ►Programación de aplicaciones 3D Programación de aplicaciones 3D ►Etc… Etc… -
¿Qué no puedo hacer con PHP? ¿Qué no puedo hacer
con PHP? ►Convertir videos Convertir videos ►Editar audio Editar audio ►Algunas soluciones alternativas: Algunas soluciones alternativas: Hacer un puente entre PHP y otra tecnología Hacer un puente entre PHP y otra tecnología (ej: Java) (ej: Java) Escribir una extensión Escribir una extensión Invocar comandos del sistema operativo Invocar comandos del sistema operativo -
Que tipo de código se encuentra Que tipo de código
se encuentra ►Espaguetti Espaguetti Poca separación de presentación y lógica Poca separación de presentación y lógica ►Código forzadamente OOP Código forzadamente OOP Sobre uso de clases y objetos Sobre uso de clases y objetos ►Objetivo: Balancear ambos paradigmas Objetivo: Balancear ambos paradigmas ►Usar patrones de diseño Usar patrones de diseño MVC MVC -
¿Quién usa PHP? ¿Quién usa PHP? ►Emprendimientos de todos los
tamaños Emprendimientos de todos los tamaños ►Grandes portales Grandes portales FaceBook FaceBook Digg Digg Wikipedia Wikipedia ►Proyectos Open Source Proyectos Open Source WordPress WordPress Drupal Drupal ►Etc. Etc. -
¿Quién usa PHP? Grandes portales ¿Quién usa PHP? Grandes portales
►Wikipedia Wikipedia -
PHP respectos a otros lenguajes PHP respectos a otros lenguajes
►PHP respecto a Java PHP respecto a Java Requiere menos recursos del servidor Requiere menos recursos del servidor La curva de aprendizaje es muy exponencial La curva de aprendizaje es muy exponencial Sintaxis mas flexible Sintaxis mas flexible Mas joven Mas joven Tiempos de desarrollo menores Tiempos de desarrollo menores -
Componentes del servidor Componentes del servidor ►Respuesta: LAMP Respuesta: LAMP
►L Linux inux ►A Apache pache ►M MySQL ySQL ►P PHP HP -
Instalación de apache Instalación de apache ►Compilando su código fuente
Compilando su código fuente ►Con instaladores automáticos Con instaladores automáticos ►“ “Copiando y pegando” Copiando y pegando” -
Configuración del Apache Configuración del Apache ► A traves del
fichero httpd.conf A traves del fichero httpd.conf LoadModule php5_module <PATH>/php5apache.dll AddModule mod_php5.c DirectoryIndex index.html index.php DocumentRoot <PATH> AddType application/x-httpd-php .php .php3 .php4 .phtml AddType application/x-httpd-php-source .phps PHPIniDir <PATH> -
Instalación de PHP Instalación de PHP ►“ “Copiando y pegando”
Copiando y pegando” ►Instaladores automáticos Instaladores automáticos -
Configuración de PHP Configuración de PHP ► A traves del
fichero php.ini A traves del fichero php.ini register_globals=On|Off register_globals=On|Off extension_dir=<PATH> extension_dir=<PATH> extension=<FILE.DLL> extension=<FILE.DLL> include_path=<PATH>;<PATH> ► Modelos a seguir Modelos a seguir php-dist.ini php-dist.ini php-recommend.ini php-recommend.ini -
Configuración de PHP Configuración de PHP ►short_open_tag = Off ►error_reporting
= E_ALL & ~E_NOTICE ►display_errors = On ►upload_tmp_dir = "c:\apache\php\uplodadtmp" ►extension=php_mysql.dll ►session.save_path = "c:\apache\php\session" -
Herramientas de trabajo Herramientas de trabajo ►Completos IDE Completos IDE
PHP Development Environment PHP Development Environment Zend Studio Zend Studio Zend “Neon” Zend “Neon” ►“ “Simples” editores Simples” editores VIM VIM PHPEditor PHPEditor -
Herramientas de trabajo Herramientas de trabajo ►Eclipse PDT (PHP Development
Toolkit) Eclipse PDT (PHP Development Toolkit) -
Estructura de un script PHP Estructura de un script PHP
►Combinación de código PHP, HTML, etc… Combinación de código PHP, HTML, etc… ►Opcionalmente, compuesto de uno o mas Opcionalmente, compuesto de uno o mas ficheros ficheros include (include_once) include (include_once) require (require_once) require (require_once) -
PHP básico PHP básico ►Sintaxis Sintaxis ►Operadores Operadores ►Variables Variables
►Constantes Constantes ►Estructuras de control Estructuras de control ►Constructores del lenguaje y funciones Constructores del lenguaje y funciones -
Tags de PHP Tags de PHP ►Como PHP fue diseñado
para ser Como PHP fue diseñado para ser incorporado en el HTML, el interprete incorporado en el HTML, el interprete necesita distinguir entre código PHP y necesita distinguir entre código PHP y etiquetas HTML. etiquetas HTML. ►Los tags mas comunes son: Los tags mas comunes son: Apertura: <?php Apertura: <?php Cierre: ?> Cierre: ?> -
Tags PHP Tags PHP ►Mientras que el estilo completo es
el Mientras que el estilo completo es el recomendado, también hay otras opciones recomendado, también hay otras opciones <script language=“php”></script> <script language=“php”></script> <% %> <% %> <? ?> <? ?> -
Tags PHP Tags PHP ►Los tags cortos son bastante populares,
Los tags cortos son bastante populares, pero pueden ser deshabilitados (para evitar pero pueden ser deshabilitados (para evitar problemas con XML) problemas con XML) <? echo ‘hola’; ?> <? echo ‘hola’; ?> <?= ‘hola’; ?> <?= ‘hola’; ?> ►Ambos juegos de tags pueden ser Ambos juegos de tags pueden ser deshabilitados usando la directiva deshabilitados usando la directiva short_open_tag en el php.ini short_open_tag en el php.ini -
Tags PHP Tags PHP ►Conclusión: Usa los tags largos para
Conclusión: Usa los tags largos para asegurar que tu aplicación será fácilmente asegurar que tu aplicación será fácilmente portable a múltiples servidores u opciones portable a múltiples servidores u opciones de configuración. de configuración. -
Comentarios Comentarios ►Los buenos programadores comentan su Los buenos programadores
comentan su código, PHP permite varias formas de código, PHP permite varias formas de hacerlo: hacerlo: // esta es una línea // esta es una línea # Esta también # Esta también /* /* múltiples líneas múltiples líneas */ */ -
Variables Variables ►Las variables proveen un contenedor de Las variables
proveen un contenedor de datos. datos. ►Reglas para nombrar una variable Reglas para nombrar una variable Pueden solo contener letras, números o _ Pueden solo contener letras, números o _ Deben comenzar con una letra o _ Deben comenzar con una letra o _ -
Variables Variables ►Aunque las variables de PHP son de tipo
Aunque las variables de PHP son de tipo aparentemente indefinido son almacenadas aparentemente indefinido son almacenadas y manejadas en uno de los tipos internos de y manejadas en uno de los tipos internos de PHP PHP Escalares: boolean, string, integer, float Escalares: boolean, string, integer, float Compuestos: array, object Compuestos: array, object Tipos especiales: resource, null Tipos especiales: resource, null -
Tipos escalares Tipos escalares ►Strings: Un string es una cadena
de Strings: Un string es una cadena de caracteres. caracteres. ►Cada carácter ocupa un byte de memoria. Cada carácter ocupa un byte de memoria. Por esto PHP no tiene soporte para juegos Por esto PHP no tiene soporte para juegos de caracteres de múltiples bytes. de caracteres de múltiples bytes. ►Esto cambia con PHP 6. Esto cambia con PHP 6. ►No hay limites en la longitud. No hay limites en la longitud. -
Strings Strings ►Las cadenas de texto pueden ser encerradas Las
cadenas de texto pueden ser encerradas de tres maneras. de tres maneras. ‘’ – ‘’ – Comillas simples, estas cadenas son Comillas simples, estas cadenas son mostradas tal cual son mostradas tal cual son “” – “” – Comillas dobles, variables y secuencias de Comillas dobles, variables y secuencias de escape son reemplazadas por su valor escape son reemplazadas por su valor -
Strings Strings ►Sintaxis HEREDOC Sintaxis HEREDOC ►Similar a las comillas
dobles, pero permite Similar a las comillas dobles, pero permite múltiples líneas, y no necesita proteger las múltiples líneas, y no necesita proteger las comillas. comillas. echo <<<TEST echo <<<TEST Hola mundo. Hola mundo. Esto es “HEREDOC”. Esto es “HEREDOC”. TEST; TEST; -
Enteros Enteros ►Números sin decimales. Números sin decimales. ►Pueden ser
especificados en distintas bases Pueden ser especificados en distintas bases Octal Octal Hexadecimal Hexadecimal -
Flotantes Flotantes ►Pueden usarse para representar valores Pueden usarse para
representar valores muy grandes o pequeños. muy grandes o pequeños. A = 1.123 A = 1.123 B = 1.2e3 (1200) B = 1.2e3 (1200) C = 7e-10 (0.00000007) C = 7e-10 (0.00000007) -
Boolean Boolean ►Contienen Contienen true = verdadero != 0
true = verdadero != 0 false = falso = 0 false = falso = 0 ►TRUE y FALSE son case-insensitive TRUE y FALSE son case-insensitive -
Arrays (conjuntos) Arrays (conjuntos) ►Pueden contener cualquier tipo de variable,
Pueden contener cualquier tipo de variable, incluso otros arrays incluso otros arrays ►Tipos de índice Tipos de índice Numéricos Numéricos Asociativos Asociativos ►Se pueden usar como pilas o colas Se pueden usar como pilas o colas ►Decenas de funciones para operar Decenas de funciones para operar -
Arrays (conjuntos) Arrays (conjuntos) ►Fáciles de iterar Fáciles de iterar
►Frecuentemente utilizados en BBDD Frecuentemente utilizados en BBDD ►Numericos Numericos Tienen un índice numero, auto asignado, o Tienen un índice numero, auto asignado, o asignado por el usuario asignado por el usuario ►Asociativos Asociativos Tienen un índice de tipo string; similar a un Tienen un índice de tipo string; similar a un hashmap hashmap -
Arrays Arrays ► Variables del tipo Array, disponibles Variables del
tipo Array, disponibles automáticamente en scripts PHP automáticamente en scripts PHP $GLOBALS $GLOBALS $_FILES $_FILES $_SERVER $_SERVER $_ENV $_ENV $_REQUEST $_REQUEST $_GET $_GET $_POST $_POST $_COOKIE $_COOKIE $_SESSION $_SESSION -
Arrays Arrays ►Operaciones típicas con arrays Operaciones típicas con arrays
Construcción Construcción Agregar valores Agregar valores Iterar Iterar Ordenar Ordenar -
Funciones Funciones ►No tiene valor de retorno en su declaración
No tiene valor de retorno en su declaración Facilitan el mantenimiento Facilitan el mantenimiento Evitan la duplicación de código Evitan la duplicación de código ►Aceptan numero variable de parámetros Aceptan numero variable de parámetros ►Pueden ser definidas dentro de otra función Pueden ser definidas dentro de otra función -
Funciones varias Funciones varias ►Funciones de fecha y hora Funciones
de fecha y hora Date Date ►Para trabajar con strings Para trabajar con strings Strlen Strlen Substr Substr ►Envio de emails Envio de emails mail mail -
Funciones varias Funciones varias ► Funciones de lectura/escritura ficheros Funciones
de lectura/escritura ficheros File_put_contents File_put_contents File_get_contents File_get_contents ► Tambien se puede abrir como recurso Tambien se puede abrir como recurso Fopen Fopen fwrite fwrite Fclose Fclose ► Listado de directorios/ficheros Listado de directorios/ficheros Opendir Opendir readdir readdir closedir closedir -
Clases y objetos Clases y objetos ►Permiten combinar datos y
funciones en un Permiten combinar datos y funciones en un sola unidad lógica sola unidad lógica ►A partir de la versión 5 de PHP aparecen: A partir de la versión 5 de PHP aparecen: Clases abstractas Clases abstractas Interfaces Interfaces Type hinting Type hinting -
OOP OOP ►Incluyen visibilidad de propiedades y Incluyen visibilidad de
propiedades y métodos métodos ►Public: La propiedad o método puede ser accedida Public: La propiedad o método puede ser accedida desde cualquier sitio. desde cualquier sitio. ►Private: La propiedad o método solo puede ser Private: La propiedad o método solo puede ser accedida por su clase accedida por su clase ►Protected: La propiedad o método solo puede ser Protected: La propiedad o método solo puede ser accedida por la clase o sus derivadas accedida por la clase o sus derivadas ►Final: la propiedad o método no puede ser Final: la propiedad o método no puede ser sobrescrita sobrescrita -
Clases y objetos Clases y objetos ►Funciones especiales Funciones especiales
__construct __construct __destruct __destruct __toString __toString __sleep __sleep __wakeup __wakeup __call __call __get __get __set __set -
Excepciones Excepciones ►Método unificado para el tratamiento de Método unificado
para el tratamiento de errores errores ►Estructura Estructura Throw Throw try try catch catch -
Resource Resource ►Un recurso es una variable especial que Un
recurso es una variable especial que representa un identificador de mas bajo representa un identificador de mas bajo nivel (como un fichero, una conexión a nivel (como un fichero, una conexión a bbdd, etc) bbdd, etc) ►La función que crea una variable de tipo La función que crea una variable de tipo resource, generalmente ofrece otra función resource, generalmente ofrece otra función que libera los recursos consumidos por esa que libera los recursos consumidos por esa variable. variable. -
null null ►Es una variable que no tiene tipo ni
valor Es una variable que no tiene tipo ni valor ►No es lo mismo que el entero 0 o que la No es lo mismo que el entero 0 o que la cadena vací cadena vací -
Constantes Constantes ►Constantes permiten crear un identificador Constantes permiten crear
un identificador especial que no puede ser cambiado una especial que no puede ser cambiado una vez creado vez creado ►Función define() Función define() -
Otros operadores Otros operadores ►@ @ Elimina los mensajes
de error de la expresión Elimina los mensajes de error de la expresión ►`` (backticks) `` (backticks) Ejecutan el contenido como un comando de Ejecutan el contenido como un comando de shell shell ►Instanceof Instanceof Devuelve true si la variable es de tipo class y es Devuelve true si la variable es de tipo class y es una subclase o subinterface una subclase o subinterface -
Operadores Operadores ►Backtick (``) Backtick (``) Puede ser peligroso
porque se ejecuta con los Puede ser peligroso porque se ejecuta con los mismos permisos que el webserver. mismos permisos que el webserver. ►Instanceof Instanceof Es útil para verificar que la variable pasada Es útil para verificar que la variable pasada como parámetro se corresponde con el tipo como parámetro se corresponde con el tipo esperado. esperado. -
Estructuras de control Estructuras de control ►If If ►Switch Switch
►While While ►Do While Do While ►For For ►Foreach Foreach -
Estructuras de control Estructuras de control ►Exit: detiene la ejecución
del script. Exit: detiene la ejecución del script. ►Puede, opcionalmente, devolver un mensaje Puede, opcionalmente, devolver un mensaje o código de error. o código de error. exit(-1); exit(-1); exit(‘algo fue mal’); exit(‘algo fue mal’); -
GET y POST GET y POST ►GET GET Información
enviada como parámetros en la Información enviada como parámetros en la URL URL Limite del tipo y longitud de datos enviados Limite del tipo y longitud de datos enviados ►POST POST Datos enviados junto a los encabezados Datos enviados junto a los encabezados Información oculta Información oculta Permite subir contenidos “multipart” Permite subir contenidos “multipart” -
Programación Web Programación Web ►Supervariables Supervariables _GET _GET
_POST _POST _FILES _FILES _REQUEST: GET/POST/COOKIE _REQUEST: GET/POST/COOKIE -
Subida de ficheros Subida de ficheros ►Subiendo ficheros a través
de un formulario Subiendo ficheros a través de un formulario Variables involucradas Variables involucradas ►$_POST $_POST ►$_FILES $_FILES Funciones a utilizar Funciones a utilizar ►is_uploaded_file is_uploaded_file ►move_uploaded_file move_uploaded_file -
Subida de ficheros Subida de ficheros ►Información que contiene la
variable Información que contiene la variable $_FILES $_FILES $_FILES[‘fichero’][‘name’] $_FILES[‘fichero’][‘name’] $_FILES[‘fichero’][‘type’] $_FILES[‘fichero’][‘type’] $_FILES[‘fichero’][‘size’] $_FILES[‘fichero’][‘size’] $_FILES[‘fichero’][‘tmp_name’] $_FILES[‘fichero’][‘tmp_name’] $_FILES[‘fichero’][‘error’] $_FILES[‘fichero’][‘error’] -
Trabajar con sesiones Trabajar con sesiones ►Permiten recordar la sesión
de un usuario Permiten recordar la sesión de un usuario ►Posible de almacenar Posible de almacenar En el sistema de fichero En el sistema de fichero En memoria En memoria En la URL En la URL En cookies En cookies -
Trabajar con sesiones Trabajar con sesiones ►Session_name Session_name ►Session_start Session_start
►Array $_SESSION Array $_SESSION ►Session_destroy Session_destroy -
Trabajar con BBDD Trabajar con BBDD ►Funciones especificas para cada
bbdd Funciones especificas para cada bbdd ►Ejemplo MySQL Ejemplo MySQL (des)Conectarse: mysql_connect/mysql_close (des)Conectarse: mysql_connect/mysql_close Consultas: mysql_query Consultas: mysql_query Recuperar registros: Recuperar registros: ►Mysql_fetch_object Mysql_fetch_object ►Mysql_fetch_assoc Mysql_fetch_assoc ►Mysql_fetch_row Mysql_fetch_row -
Extensiones mas conocidas Extensiones mas conocidas ►Para compresión/descompresion Para compresión/descompresion
php_zip.dll php_zip.dll php_bzip2.dll php_bzip2.dll php_rar.dll php_rar.dll ►Para trabajar con BBDD Para trabajar con BBDD php_pdo.dll php_pdo.dll php_pdo_*.dll (* = mysql, pgsql, oracle) php_pdo_*.dll (* = mysql, pgsql, oracle) -
Extensiones mas conocidas Extensiones mas conocidas ►Para trabajar con imágenes
Para trabajar con imágenes php_gd2.dll php_gd2.dll ►Para internacionalizar aplicaciones Para internacionalizar aplicaciones Php_gettext.dll Php_gettext.dll -
Extensiones de PHP Extensiones de PHP ►PDO PDO PHP
Data Objects PHP Data Objects Para conectarse a diferentes BBDD a través de Para conectarse a diferentes BBDD a través de una única interfaz una única interfaz API orientada a objetos API orientada a objetos Similar al JDBC de Java Similar al JDBC de Java -
Librerías y frameworks Librerías y frameworks ►PEAR PEAR ►Zend Framework
Zend Framework ►Struts4php Struts4php ►Phpmvc Phpmvc ►Molins Framework Molins Framework -
JPGraph JPGraph ►Permite generar gráficos estadísticos Permite generar gráficos estadísticos
►Orientada a objetos Orientada a objetos ►Gratuita Gratuita ►Fácilmente configurable Fácilmente configurable ►Multitud de gráficos Multitud de gráficos -
Trabajar con un ejemplo Trabajar con un ejemplo Portal de
ocio Portal de ocio