php5 a travez de ejemplos

555
Abraham Gutiérrez Rodríguez Ginés Bravo Garcia

Upload: edgar-gerardo-huapaya-ormeno

Post on 13-Apr-2017

68 views

Category:

Software


0 download

TRANSCRIPT

PHP5 a travez de ejemplo.pdf,
1.1 Modo de funcionamiento ......... :.................................................................. 1 1.2 Instalación en Windows ............................................................... ,............. 2
1.2.1 Instalación de Apache en Windows............................................ 3 1.2.2 Instalación de PHP en Windows................................................. 7 1.2.3 Instalación de MySQL en Windows........................................... 10
1.3 Instalación en Linux ................................................................................... 13 1.3. llnslalaci6ndeApacheen Linux.................................................. 13 1.3.2 Instalación de MySQL en Linux ................................................. 1 S 1.3.3 Instalación de PHP en Linux ...................... ................................ 17
1.4 Fichero de configuración PHP. INI............................................................ 18 1.5 Paquetes integrados ............... ...................................................... .............. 19
CAPiTULO 2, FUNDAMENTOS DEL LENGUAJE PHP....................... 21
2.1 Fonnoto del código PHP ........................................................................... . 2.1.1 Delimitadores ............................................................................ ..
21 22
2.2 Sintaxis básica ............................................................................................ 28 2.2.1 Variables..................................................................................... 28 2.2.2 Tipos de datos............................................................................. 31
VI II 1'111' S A TRAVt~ DE UI;:MPLOS e RA·MA
2.2.3 Otros componentes asociados a las variables ........................ ..... 4 1 2.2.4 Constantes .............................................................. .................... 48 2.2.5 Expresiones ................................................................................ 51 2.2.6 Operadores.................................................................................. 51
CAPiTULO J: ESTRUCTURAS DE CONTROL ...................................... 65
3. 1 Sentencias condicionales ..................................... ....................................... 65 3. 1.1 if.......................................................... ...................................... 66 3. 1.2 lf .. . else............................ .. ................................................... 68 3. 1.3 if .. . aleaif ............................................................................ 70 3.1.4 Expresión condicional (i E compacto) .... .... .. ... .......................... 72 3.1.5 switch.................................................. .. ................................... 73
3.2 Sentencias de bucles .................... .. ............ ..... .. .......................................... 76 3.2. 1 fer .......................... ....... ..... .... .............. ..................................... 77 3.2.2 fereach..................................................................................... 81 3.2.3 while ......................................... .... ... ......................................... 86 3.2.4 do ... while .............................................................................. 89 3.2.5 break y continue................................................................... 90
3.3 Inclusión de fi cheros................................................................................... 97 3.3. 1 include ( ) .................................... ,......................................... 97 3.3.2 include_once( ) ........................................... ........................ 104 3.3.3 require( } ............................................................................ .. lOó 3.3 .4 require_once( )....................................................... ............. 107
CAPiTULO 4: CADENAS .......................................................................... .. 109
4.1 Delimitación de cadenas ............ .... ..................... ................. , ...... ,., ...... ,., ... . 4.2 Vi sualización de cadenas ............................................................. ........... ... . 4.3 Acceso al contenido ........................................................... , .............. ,., ...... . 4.4 Búsqueda en cadenas ................................................................................ .. 4.5 Comparación de cadenas ................... ... .. ................................................... . 4.6 Operar con subcadenas .............. .. .............. .. ...... .. ..................................... .. 4.7 Modifi cación del contenido ..... ......... ....... .... ....... ..... .................................. .
4.7. 1 Limpieza de cadenas ......... ....... ......... ..... .................................... . 4.7.2 Relleno de cadenas ................................ , ......................... , ......... . 4.7.3 Conversión entre mayUsculas y minúsculas .............................. . 4.7 .4 Enmascaramiento de caracteres ............ .. .................................. .. 4.7.5 División de cadenas ............. .............. ......... ............................... .
4.8 Relacionadas con HTML .......................................................................... ,. 4.9 Otras funciones ........................................... ............................................... .
..
,
,

5.1 Arrays escalares.......................................................................................... 145 5.2 Arrays asociativos ...................................................................................... 151 5.3 Arrays multidimensionales ......................................................................... 153 5.4 Recorrer un array....................................................................................... 157
5.4.1 Recorridos en arrays secuenciales.............................................. 157 5.4.2 Recorridos en arrays no secuenciales......................................... 158
5.5 Ordenar un array................................................... ..................................... 164 5.6 Otras operaciones ....................................................................................... 172
5.6.1 Modificar un array ..................................................................... 173 5.6.2 Trabajando con porciones del array ........................................... 177 5.6.3 Usando arrays como pilas .......................................................... 181
CAPiTULO 6, FUNCIONES ........................................................................ 185
6.1 Trabajando con funciones .......................................................................... . 6.1.1 Declaración de una función ....................................................... . 6.1.2 Llamada a una runción .................................................... .......... .. 6.1.3 Paso de parámetros .................................................................... . 6.1.4 Ámbito de las variables ............................................................ .. 6.1.5 Devolución de valores ............................................................... . 6.1.6 Funciones con número variable de parámetros .......................... . 6.1.7 Funciones variables ................................................................... . 6.1.8 Funciones recursivas ................................................................. ..
185 186 186 188 193 195 196 198 199
CAPíTULO 7, PROGRAMACIÓN ORIENTADA A OBJETOS............. 203
7.1 Clases y objetos ......................................................................................... 204 7.1.1 Declaración de una clase y creación de un objeto ..................... 204
7.2 Primer cOntacto con la POO .......................................... ............................ 205 7.2.1 Aproximación Procedural .......................................................... 206 7.2.2 Aproximación con Objetos ........................................................ 207 7.2.3 Reusabilidad y mantenibilidad del código ................................. 209
7.3 Modelo de objetos de PHP S .................................................................... 210 7.3.1 Clonación de objetos .................................................................. 212
7.4 Acceso a los miembros de un objeto ......................................... ................ 213 7.4.1 Propiedades privadas ................................................................. 214 7.4.2 Métodos_set() y..........,get() .................................................. 215 7.4.3 Métodos privados ................................. ...................................... 216 7.4.4 Método_call () .................................................................... 218
7.5 Constructores ............ ,................................................................................ 219 7.6 Destnlclores ............................................................................................... 220
X PHP' A 1 RA vts DE EJEMPl.OS e RA·MA
7.7 Atributos y métodos de clase (Miembros estáticos) ................................. 222 7.8 Herencia .................................................................................................... 224
7.8.1 Miembros protected .............................................................. 228 7.8.2 Redefinici6n ............................................................................... 229 7.8.3 Métodos y clases final .......................................................... ..
7.9 Clases abstractas ...................................................................................... . 7.10 Interfaces ........... ............................... ... ................................................... . 7.11 Polimorfismo .......................................................................................... . 7.12 Funciones relacionadas .......................................................................... .. 7.13 Excepciones ............................................................................................ .
233 234 238 239 243 245
CAPiTULO 8: FUNCIONES DE FECHA Y HORA .................................. 249
8.1 Introducción........... ........ ..................................... ........................................ 249 8.2 Funciones de fecha y hora .......................................................................... 249 8.3 EjClnplo de utilización ................................................................................ 255
CAPiTULO 9: FORMULARIOS. COOKIES y SESIONES .................. .. 267
9.1 El protocolo HTTP. .............................................. ...................................... 267 9.1.1 Estructura de los mensajes HITP............................................... 268 9.1.2 Funciones PHP relacionadas....................................................... 272 9.1.3 Variables PHP relacionadas........................................................ 277
9.2 Fonnularios en HTML ............................................................................. .. 9.2.1 El elemento FORM .................................................................... . 9.2.2 Envío de fonnularios al servidor .............................................. ..
9.3 Fomlularios en PHP .......... ....... ................................................................. . 9.3.1 Fonnularios en PHP 4.2.x. y versiones superiores .................. .. 9.3.2 Fonnularios en versiones anteriores a PHP 4.2 ........................ .. 9.3.3 Fonnularios avanzados .............................................................. .
9.4 Cookies en PHP ....................................................... .. ............................... . 9.4.1 Estructura de las cookies ............................................................ . 9.4.2 Utilización de cookies en PHP ................................................... .
9.5 Sesiones en PHP ........................................................................................ . 9.5.1 Creación de sesiones .................................................................. . 9.5.2 Acceso a las variables de sesión ................................................ . 9.5.3 Otfas funciones asociadas al manejo de sesiones ...................... . 9.5.4 Parámetros de configuración de sesiones ................................. ..
281 281 282 283 283 288 289 295 296 297 303 304 305 3\0 312
CAPiTULO 10: FICHEROS Y DIRECTORIOS........................................ 315
10.1 Operaciones con ficheros (nivel imemo}.................................................. 315 10.1.1 Abrir un fichero........................................................................ 315

••
-'
e RA·M¡\ INDICE Xl
10.1.2 Cerrar un fichero ...................................................................... . 10.1.3 Lectura desde un fichero ......................................................... .. 10.1.4 Recorrer un fichero .................................................................. . 10.1.5 Escritura en un fichero ............................................................. .
10.2 Información sobre ficheros ................................................................... .. 10.3 Operaciones con ficheros (nivel externo) .............................................. . 10.4 Manejo de directorios ............................................................................ . 10.5 Operaciones con directorios .................................................................. .. 10.6 Concepto de permisos y dueños en Unix .............................................. .. 10.7 Información de ficheros y directorios en Unix ..................................... .. 10.8 Otras funciones ...................................................................................... . 10.9 Transferencia de ficheros entre cliente y servidor ................................. .
10.9. 1 Subir ficheros al servidor ......................................................... . 10.9.2 Directivas de PHP. INI involucradas ...................................... .. 10.9.3 Bajar ficheros del servidor ...................................................... .
10.10 Control de la salida estándar .................................................................. .
3 17 317 318 319 3 19 320 321 J23 325 326 329 330 330 333 334 334
CAPiTULO 11: BASES DE DATOS ............................................................ 337
11 .1 Bases de datos relacionales ..................................................................... .. 11 .2 MySQL ................................................................................................... .
11.2.1 Conexión con el gestor de la base de datos ............................ .. 11.3 Implementación de una agenda con MySQL. .......................................... .
11 .3.1 Creación de la base de datos .................................................. .. 11 .3.2 Creación de la tabla ................................................................. . 11 .3.3 Fichero de apoyo ...................................................................... . 11.3.4 Listado de registros .................................................................. . 11.3.5 Borrar un registro .................................................................... .. 11.3.6 Modificar registros .............................................. .................... . 11.3.7 Insertar registros ...................................................................... . 11 .3.8 Total de registros .................................................................... .. 11.3.9 Modificar una tabla .................................................................. .
11 .4 Seguridad en MySQL ............................................................................. .. I 1.4.1 Usuarios ................................................................................... . 11.4 .2 Copias de seguridad ................................................................ ..
11 .5 SQLlTE ............................... ................................................................... .. 11 .5. 1 Interfaz de SQLite ................................................................... .. 11.5.2 Interfaz orientada a objetos de SQLite ................................... .. 11 .5.3 Diferencias entre SQLile y MySQL ........................................ . 11 .5 ,4 Ejemplo completo con SQLite ................................................ .. 11 .5.5 Instalación en Unix/Linux ...................................................... ..
11.6 Uso de ODBC .......................................................................................... . 1 1.6.1 Ejemplo de uso sobre Access .................................................. .. 11 .6.2 InstaJación de ODBC en Linux ................................................ .
337 338 338 340 340 341 345 347 353 355 356 358 358 359 359 360 36 1 362 368 370 370 384 385 387 391
XII PHPSATRAVtsOEElEMPLOS CRA·MA
CAI'ÍTULO 12: I)HP Y XML........................................................................ 393
CAPiTULO 1), EJEMPLO DE APLICACIÓN, WEBMAIL.. .................. 449
13. 1 Estructura general ................................................................................... .. 13. 1. 1 Variables de sesión ................................................................. .. 13. 1.2 Botonera ................................................................................... . 13.1.3 Software necesario en el servidor ............................................ .
13.2 Entrada al correo ...................................................................................... . 13.3 Salida del sistema .................................................................................... . 13.4 Revisión de los mensajes en las carpetas ................................................ ..
13.4.1 Opciones de ordenación y cambio de carpeta ......................... .. 13.4.2 Selección de mensajes para ser borrados O movidos .............. ..
13.5 Lectura de un mensaje ............................................................................ .. 13.6 Descargas de ficheros adjuntos .............................................. .................. . 13.7 Composición de mensajes: enviar, responder, reenviar .............. ............. . 13.8 Enviar mensajes ...................................................................................... .. 13.9 Borrar o mover mensajes ......................................................................... .

,
,

,
,
,

A: EJEMPLO OE USO DE FUNCIONES DE FICHEROS: AGENDA ......................................... ............. ....... ................................. 499
A.I Diseño de la aplicación ............................................................... .- 500 A.2 Inserción de nuevos registros....................................................... 503 A.3 Buscar un registro ........................................................................ 506 A.4 Modificación de un registro ......................................................... 508 A.5 Borrado de un registro ................................................................. 512 A.6 Listado de todos los registros....................................................... 514 A.7 TOlal de regislros .............................. .,......................................... 515
B: FICHERO DE CONFIGURACIÓN PIIP.INI... ................................ 517
B.I Directivas generales ................................................................... . B.2 Errores ........................................................................................ . B.3 Ficheros ....................................................................... ., ............. . B.4 Recursos ............................................................ ........................ .. B.5 Seguridad .......................................................... ......................... . B.6 Extensiones dinámicas .............................................................. .. 8.7 Sesiones ......................................................... ., .......................... . B.8 Correo electrónico ............................................. ........................ .. 8.9 MySQL .......................... ......... ................................................... . B.IO ODBC ........................................................................................ . B.I t MatematicaBC .......................................................................... .. 8 .12 Directivas relacionadas con los navegadores ............................. .
5 17 518 520 521 522 522 523 524 525 526 526 526
C: RESUMEN DE FUNCIONES DE MySQL ....................................... 527
D: INTERFACES DOM, DEFINICIONES EN IDL ............................. 533
D. I Interface Node .......................................................................... . D.2 Interface Document .................................................................. . 0.3 Interface Element ..................................................................... . D.4 Interface Attr ............................................................................ . D.S Interface Processinglnstrtlction ................................................ . 0.6 Interface characterData ............................................................. . 0.7 Interface Tcxt ............. .............................................................. . 0.8 Interface CDATASection ......................................................... . 0.9 Interface Commnet .................................................................. ..
533 535 536 537 537 537 538 538 538
XIV PIU' S A TRAvES DE EJEMPLOS el RA·MA
, 0.10 Interface Entity .......................................................... " ............. . 538 0.11 Interface EnlityReference ......................................................... . 539 0.12 Interface Notation ..................................................................... . 539 0.13 Intcrface DocumentType ......................................................... .. 539 0.14 Interface OocumentFragment .................................................. .. 539 0.15 Interface nodeList .................................................................... .. 539 0.16 Interface NamedNodeMap ....................................................... . 539
E, CONTENIDO DEL CD INCLUIDO ................................................ . 541
íNDICE ALF ABtTlCO ............................................................................... . 543
INTRODUCCIÓN
PHP (acrónimo de PHP: H)'fH!next Pre-Procl!fisor) es un lenguaje de programación, relativamente nuevo (su antecesor, PHPIFI, dala de finales de 1994), concebido princip..llmentc como herramienw para el desarrollo de aplicaciones Web. PHP nos permite diseñar páginas dinámicas de servidor. es decir. generar página..; bajo petición capaces de responder de manera inteligente a las demandas del cliente y que nos pennitan la automatización de gran cantidad de tareas. Si tuviéramos que definir PHP en una sola línea. podríamos decir que es un lenguaje interpretado de alto nivel embebido en páginas HTML y ejecutado en el servidor.
Aunque existe una multitud de lenguajes y cOlamos de desarrollo concebidos para Internet. PHP se ha convenido en uno de los lenguajes, del lado servidor. más ampliamente utilizados para el desarrollo de páginas dinámicas junto con ASP. JSP. ColdFusion y Perlo En los últimos años. el número de servidores que Ulilizan PHP se ha disparado. De hecho. según datos de NelCr3ft (hul.:lIwww.ncICüI1f.comD a fecha de Agosto de 2004 son casi 17 millones de dominios los que usan PHP.
En PHP se combinan muchas car..lGlerísticas que contribuyen nOlublemente ti
su ma~iva utilización: entre Olras, está el hecho de ser un software de libre dislribución y muhiplataforma (existen versiones de PHP para U·ix. Win32. Mac OS X, ele.) que sigue la filosofía Opell Source. También ha contribuido a su éxito el hecho de haberse convenido en el complemento ideal para el popular tándem Linux­ Apache en el desarrollo de sitios Web. Pero lo más destacable del lenguaje y una de las características que más han influido en su popularización es la sencillez de uso que presenHI a los programadores principiantes (se puede desarrollar aplicaciones sencillas en un corto intervalo de tiempo) combinada con las posibilidades
XVI PUP 5 A TRA V~ DE EJEMPLOS ORA·MA
avanzadas que proporciona al programador profesionaJ (comunicación con bases de dalos. comunicación vía sockels, generación de gráficos, etc.).
UN POCO DE HISTORIA
Primeros comienzos de PHP
PHP comenzó siendo un conjunto de scripls escritos en Perl que permitían a su creador, Rasmus Lerdorf, el control de los accesos a sus páginas personales. A este conjunto de scripts les denominó como Persollal Home Page Tools. Poco a poco, Ramus fue completando las funcionalidades ~ieas de su herramienta escribiendo programas en C. En 1995 decidió liberar el código fuente escrito en e para que cualquiera pudiera utilizarlo e, incluso, colaborar en su mejora. De este modo nació PHP/FI. A finaJes de 1997 se libera PHP/FI 2.0, pasando de ser el proyecto de una sola persona al desarrollo de un equipo. Tuvo un seguimiento estimado de varios miles de usuarios en todo el mundo. con aproximadamente 50.000 dominios informando que lo tenían instalado, lo que sumaba alrededor del 1% de los dominios de lnternet.
En junio de 1998 se liberó oficialmente PHP 3.0, anunciado como sucesor oficial de PHP/FI 2.0, si bien había sido completamente reescrito por Andi Gutmans y Zeev Zurask::i. Una de las mejores caracteristicas de PHP 3.0 que atrajo a docenas de desarrolladores a unirse y enviar nuevos módulos de extensi6n era su gran extensibilidad, además de proveer a los usuarios finales de una sólida mfr.testructura para muchísimas bases de datos, protocolos y APls. En su apogeo, PHP 3.0 estaba instalado en aproximadamente un 10% de los servidores Web en Internet.
Evoluci6n de PHP
El siguiente paso en la evolución de PHP consistió en la reescritura de su núcleo, dando lugar a un nuevo motor denominado Zend (acrónimo de los apellidos Zeev y Andi). PHP 4.0. basado en este motor, y acoplado con un gran rango de nuevas caracteristicas adicionales, fue oficialmente liberado en mayo de 2000. Además de la mejor.! de ejecución de esta versión, PHP 4.0 inclura otras caracteristicas clave. como el soporte para la mayoría de Jos servidores Web, sesiones HITP de forma nativa. ciertas facilidades de orientación a objetos, compatibilidad con las expresiones regulares de Perl. buJfer.f de salida. encriptaci6n, formas más seguras de controlar las entradas de usuario y muchas nuevas construcciones de lenguaje, etc.
O RA·MA INTRODUCCIÓN XVII
La última y actual versión de PHP. liberada en Julio de 2004. es la 5.0. Está basada en el nuevo mOlor Zend 2, el cuaJ ha vuelto a ser reescrito por completo. Entre sus características y novedades m:1s resahables está el completo soporte para la programación oricntada a objetos (que a buen seguro satisfará a los mm. ap<lsionados y ortodoxos seguidores de este par'Jdigma de la programación). También incorpora la gestión de excepciones. unu nueva libreria de XML (libxm12), sOJXJrtc nativo para el sistema gestor de base de datos SQLite. y mejoras en la gestión de las cadenas de caracteres. PHP 5.0 soporta también MySQLi. una nueva ampliación de MySQL (está diseñada parJ. tmbajar con la ver.;ión 4.1.2 o superior). la cual, adem5s de la inlerfaz habiruul, encierra una interfaz basada en objetos.
¿QUÉ SE PUEDE HACER CON PHP?
Aunque principalmente se utiliza para programar scripts que van a ser ejecutados en servidores Web, no hay que olvidar que puede utilizarse como cualquier otro lenguaje (Perl, e, Python. Shell, etc.) para escribir programas que se ejecuten desde la línea de comandos. es decir, sin la necesidad de que se ejecute conjuntamente con un servidor Web. De todas formas, es en el enlomo Web donde ha conseguido su mayor aceptación. y es que PHP no sólo nos pennite realizar todas las acciones propias de un script COI tradicional (procesamiento de fonnularios, manipulación de cookies. generación de páginas con contenidos dinámicos ... ), sino que también nos proporciona las siguientes po~jbilidades:
[J Sopone para múltiples sistemas opcr.llivos: Unix (enLre otras, Linux. HP-UX, Solaris y OpenBSD). Microsoft Windows. Mae OS X, RISC OS. ActuaJmente estj en preparación para las platafonnas IBM 05/390 Y AS/400.
a Soporte para múltiples servidore'i Wcb: Apache. Microsoft Internet Infonnallon Server. Personal Web Server. Netscape e iPlanel, Oreilly Website Pro server, Caudium, Xitami. OmniHTIPd y muchos otros.
[J Soporte para mlís de 25 gestores de bases de datos: Adabas O. Ingres. Oracle. dBase, InterSase, Ovrimos, Empress. FrontBase, PostgreSQL, mSQL, Salid, Hypcrwave. Oirect MS-SQL. Sybase, mM OB2, Infonnix, Unix dbm y MySQL. entre otras.
o Soporte para OOSC y extensiones DBX.
-
XVIU PIIP5ATRAvrtsDEElEMPlQS e RA-MA
o Puede utilizar objetos Java de fonna ltansparente. como objetos PHP.
e La extensión de CORBA puede ser utilizada para acceder a objetos remOlas.
e PHP soporta WDDX para intercambio de dalos entre lenguajes de programación en Web.
e Generación de resultados en múltiples fonnatos como XHTML. XML. ficheros de imágenes. ficheros PDF y películas Flash ...
o Par~¡('T de documentos XML, soporte de los estándares $AX y DOM. Manejo de XSLT para transfonnar documentos XML.
o Manejo de expresiones regulares POSIX Extended o Pcrl.
o Funciones de comercio electrónico. corno Cybcrcash. CybcrMUT, VeriSign Payflow Pro y CCVS para las pasarelas de pago.
o Otras extensiones muy interesantes son las funciones del motor de búsquedas mnoGoSearch, funciones para pasarelas de IRC. utilidades de compresión (gzip, bz2), conversión de caJendarios. traducción ...
y un sinfín de posibilidades que van en aumento cada dfa.
COMPARA TIV A ENTRE ASP y PHP
El otro lenguaje utilizado para el diseño de páginas dinámicas de servidor y ampliamente elltendido es ASP (Active Server Pages). Es un lenguaje derivado de Visual Basic (aunque se puede programar con orras lenguajes como VBScript y JScript) desarrollado por Microsoft. Evidentemente. se emplea principalmente sobre plmafonnas que funcionan bajo sistemas operativos Windows (aunque desde hace poco tiempo existe un software de SUN, SIl/1 ONE Active Sen1er Pages, anteriormente conocido como Chili Soft ASP. que permite trabajar con ASP en platafonnas Unill/Linux).


- O RA-MA INTRODIJCOON XIX
La principal djferencia es que ASP es una tecnología propietaria de Microsoft. mienlras que PHP sigue la filosoffa Optm SOI/ru. Esto hace que ASP esté pensado para funcionar principalmente sobre plataformas Microsoft. a pesar de que existan soluciones -con un coste económico elevado-- como SWI ONE ASP que permiten su utilización sobre UnixILinux. Sin embargo. PHP nos permite que sin ningún problema podamos migrar nueSlm..<1i aplicaciones Web entre lodos los sistemas operativos y servidores en los que funciona.
La filosoFra de producto comercial de ASP innuye además en que gran cantidad del software adicional necesario para complementar una aplicación Web supone un coste económico adicional, por ejemplo. ASPEncr)'pt (necesario para la encriptaci6n). Sen;erObject's Qmail (gestor de correo electrónico) o Arlisons SA­ FileUp (necesario para la gestión de descargas de ficheros). Sin embargo. en PHP todas estas opciones están incluidas de forma gratuita.
Finalmente, la comunicación de errores en ASP y su solución por parte de MICro.~Oft es muchísimo más lenta que en PHP; las revisiones del software y los parches a los errores encontrados tienen un tiempo de periodo de desarrollo largo. Hay que tener en cuenta que la filosofía Opl!lI SO/lrcl! de PHP hace que a lo1argo del mundo existan gran cantidad de equipos comprobando el producto. lo cual permite actualizar el producto con nuevas versiones y revisiones que solventan sus problemas de una forma mucho más rápida.
A nivel técnico, se pueden dar mucha .. razones a favor de PHP: entre ellas. una mayor rapidez de ejecución o una gestión de memoria más acertada. ASP, debido a su propia construcción (basada en una arquitectura COM). nunca podrá llegar a ser tan rápido como PHP. Todas las operaciones en ASP están controladas…