Sei sulla pagina 1di 9

PHP

DeWikipedia,laenciclopedialibre
PHP es un lenguaje de programacin deusogeneral
de cdigo del lado del servidor originalmente
diseado para el desarrollo web de contenido
dinmico. Fue uno de los primeros lenguajes de
programacin del lado del servidor que se podan
incorporar directamente en el documento HTML en
lugar de llamar a un archivo externo que procese los
datos. El cdigo es interpretado por un servidor web
con un mdulo de procesador de PHP que genera la
pgina web resultante. PHP ha evolucionado por lo
que ahora incluye tambin una interfaz de lnea de
comandos que puede ser usada en aplicaciones
grficas independientes. Puede ser usado en la
mayora de los servidores web al igual que en casi
todoslossistemasoperativosyplataformassinningn
costo.
PHPseconsideraunodeloslenguajesmsflexibles,
potentesydealtorendimientoconocidoshastaelda
de hoy[cita requerida], lo que ha atrado el inters de
mltiples sitios con gran demanda de trfico, como
Facebook, para optar por el mismo como tecnologa
deservidor.
Fue creado originalmente por Rasmus Lerdorf en
1995. Actualmente el lenguaje sigue siendo
desarrolladoconnuevasfuncionesporelgrupoPHP.1
Estelenguajeformapartedelsoftwarelibrepublicado
bajo la licencia PHP, que es incompatible con la
Licencia Pblica General de GNU debido a las
restriccionesdelusodeltrminoPHP.2

PHP

Desarrollador(es)
PHPGroup
php.net/(http://www.php.net/)
Informacingeneral
Extensiones .php,.phtml,.php3,.php4,.php5,.phps
comunes
Paradigma Multiparadigma:imperativo,orientadoa
objetos,procedural,reflexivo
Aparecien 1995
Diseado
por

RasmusLerdorf

ltima
versin
estable

7.0.4(7deenerode2016)

Tipode
dato

Dinmico

Influidopor C,C++,Perl,Java,Python
Sistema
operativo

Multiplataforma

Licencia

LicenciaPHP

[editardatosenWikidata]

ndice
1 Etimologa
2 Visingeneral
3 Historia
3.1 Historialdelanzamiento
4 Sintaxis
5 CaractersticasdePHP
5.1 Caractersticas
5.2 Inconvenientes
5.3 XAMPP, LAMP, WAMP, MAMP,

5.3 XAMPP, LAMP, WAMP, MAMP,


UwAmp
5.4 Principalessitiosdesarrolladoscon
PHP
6 Referencias
7 Enlacesexternos

Etimologa
PHP es un acrnimo recursivo que significa PHP Pre Hypertext processor (inicialmente PHP Tools, o,
Personal Home Page Tools).3 Fue creado originalmente por Rasmus Lerdorf sin embargo la
implementacinprincipaldePHPesproducidaahoraporThePHPGroupysirvecomoelestndardefacto
para PHP al no haber una especificacin formal. Publicado bajo la PHP License, la Free Software
Foundationconsideraestalicenciacomosoftwarelibre.2

Visingeneral
PHPpuedeserdesplegadoenlamayoradelosservidoreswebyencasitodoslossistemasoperativosy
plataformassincostoalguno.EllenguajePHPseencuentrainstaladoenmsde20millonesdesitiosweby
enunmillndeservidores.ElenormenmerodesitiosenPHPhavistoreducidasucantidadafavorde
otrosnuevoslenguajesnotanpoderososdesdeagostode2005.ElsitiowebdeWikipediaestdesarrollado
en PHP.4 Es tambin el mduloApache ms popular entre las computadoras que utilizanApache como
servidorweb.
ElgranparecidoqueposeePHPconloslenguajesmscomunesdeprogramacinestructurada,comoC y
Perl, permiten a la mayora de los programadores crear aplicaciones complejas con una curva de
aprendizajemuycorta.Tambinlespermiteinvolucrarseconaplicacionesdecontenidodinmicosintener
queaprendertodounnuevogrupodefunciones.
Aunquetodoensudiseoestorientadoafacilitarlacreacindesitioswebs,esposiblecrearaplicaciones
conunainterfazgrficaparaelusuario,utilizandoalgunaextensincomopuedeserPHPQt,PHPGTK,5
WxPHP, WinBinder, Roadsend PHP, Phalanger, Phc o HiP Hop VM. Tambin puede ser usado desde la
lneadecomandos,delamismamaneracomoPerloPythonpuedenhacerloaestaversindePHPsela
llamaPHPCLI(CommandLineInterface).6
Cuando el cliente hace una peticin al servidor para que le enve una pgina web, el servidor ejecuta el
intrprete de PHP. ste procesa el script solicitado que generar el contenido de manera dinmica (por
ejemploobteniendoinformacindeunabasededatos).Elresultadoesenviadoporelintrpretealservidor,
quienasuvezseloenvaalcliente.
Mediante extensiones es tambin posible la generacin de archivos PDF,7 Flash, as como imgenes en
diferentesformatos.
PermitelaconexinadiferentestiposdeservidoresdebasesdedatostantoSQLcomoNoSQLtalescomo
MySQL,PostgreSQL,Oracle,ODBC,DB2,MicrosoftSQLServer,Firebird,SQLiteoMongoDB.8

PHPtambintienelacapacidaddeserejecutadoenlamayoradelossistemasoperativos,talescomoUnix
(ydeesetipo,comoLinuxoMacOSX)yMicrosoftWindows,ypuedeinteractuarconlosservidoresde
webmspopularesyaqueexisteenversinCGI,mduloparaApache,eISAPI.
PHPesunaalternativaalastecnologasdeMicrosoftASPyASP.NET(queutilizaC#yVisualBasic.NET
comolenguajes),aColdFusiondelaempresaAdobe,aJSP/Java,CGI/PerlyaNode.js/Javascript.Aunque
sucreacinydesarrollosedaenelmbitodelossistemaslibres,bajolalicenciaGNU,existeademsun
entorno de desarrollo integrado comercial llamado Zend Studio. CodeGear (la divisin de lenguajes de
programacindeBorland)hasacadoalmercadounentornodedesarrollointegradoparaPHP,denominado
'Delphi for PHP. Tambin existen al menos un par de mdulos para Eclipse, uno de los entornos ms
populares.9

Historia
Fue originalmente diseado en Perl, con base en la escritura de un grupo de CGI binarios escritos en el
lenguaje C por el programador danscanadiense Rasmus Lerdorf en el ao 1994 para mostrar su
currculumvtae y guardar ciertos datos, como la cantidad de trfico que su pgina web reciba. El 8 de
junio de 1995 fue publicado "Personal Home Page Tools" despus de que Lerdorf lo combinara con su
propioFormInterpreterparacrearPHP/FI.
Dos programadores israeles del Technion, Zeev Suraski y Andi Gutmans, reescribieron el analizador
sintctico(parsereningls)enelao1997ycrearonlabasedelPHP3,cambiandoelnombredellenguaje
por PHP: Hypertext Preprocessor.1 Inmediatamente comenzaron experimentaciones pblicas de PHP3 y
fuepublicadooficialmenteenjuniode1998.Para1999,SuraskiyGutmansreescribieronelcdigodePHP,
produciendoloquehoyseconocecomomotorZend.TambinfundaronZendTechnologiesenRamatGan,
Israel.1
En mayo de 2000 PHP 4 fue lanzado bajo el poder del motor Zend 1.0. El da 13 de julio de 2007 se
anunci la suspensin del soporte y desarrollo de la versin 4 de PHP,10 a pesar de lo anunciado se ha
liberado una nueva versin con mejoras de seguridad, la 4.4.8 publicada el 13 de enero de 2008 y
posteriormentelaversin4.4.9publicadael7deagostode2008.11Segnestanoticia12selediosoportea
falloscrticoshastael9deagostode2008.
El 13 de julio de 2004, fue lanzado PHP 5, utilizando el motor Zend Engine 2.0 (o Zend Engine 2). 1
IncluyetodaslasventajasqueproveeelnuevoZendEngine2como:
Mejor soporte para la programacin orientada a objetos, que en versiones anteriores era
extremadamenterudimentario.
Mejorasderendimiento.
MejorsoporteparaMySQLconextensincompletamentereescrita.
MejorsoporteaXML(XPath,DOM,etc.).
SoportenativoparaSQLite.
SoporteintegradoparaSOAP.
Iteradoresdedatos.
Manejodeexcepciones.
MejorasconlaimplementacinconOracle.

Historialdelanzamiento

Significado
Rojo

Versinantigua,sinsoporte

Amarillo Consoporteparaerroresdeseguridad
Verde

Consoporteparaerroresgeneralesydeseguridad

Azul

Lanzamientofuturo

Versin

Fechade
lanzamiento

Finde
soporte

1.0

08061995

Llamada oficialmente "Personal Home Page Tools (PHP Tools)".


Eslaprimeraversinenusarelnombre"PHP".13

2.0

01111997

Considerada por sus creadores la "herramienta ms rpida y


sencilla"paracrearpginaswebdinmicas.13

3.0

06061998

20102000

Zeev Suraski y Andi Gutmans reescribieron la base para esta


versin.13

4.0

22052000

23012001

Se aadi un sistema de parsing de dos fases llamado motor


Zend.14

4.1

10122001

12032002

Seintroducen'superglobales'($_GET,$_POST,$_SESSION,etc.)14

Notas

4.2

22042002

06092002

Sedeshabilitan register_globalspordefecto.Datosrecibidospor
larednosoninsertadosenelespaciodenombresglobal,cerrando
posiblesagujerosdeseguridadenlasaplicaciones.14

4.3

27122002

31032005

SeintroduceCLI,yCGI.1415

4.4

11072005

07082008

Seaadenpginasmanparaphpizeyphpconfig.14

5.0

13072004

05092005

MotorZendIIconunnuevomodelodeobjetos.16

5.1

24112005

24082006

Mejoras de rendimiento con la introduccin de variables de


compiladorparaelnuevomotordePHP.16

5.2

02112006

06012011

Actividaextensindefiltropordefecto.SoporteJSONnativo.16

30062009

Soporte para espacios de nombres, enlace esttico en tiempo de


ejecucin, etiqueta de salto (goto limitada), Clausuras nativas,
Soporte nativo para archivos PHP (phar), recoleccin de basura
para referencias circulares, soporte mejorado para Windows,
1408201417 sqlite3,mysqlndcomoreemplazoalibmysqlcomobibliotecapara
extensionesquefuncionanconMySQL,fileinfocomoreemplzado
de mime_magic para mejor soporte MIME, extensin de
Internacionalizacin,yetiquetaeregobsoleta.

5.4

01032012

15092015

Soporte para Trait y sintaxis abreviada de array. Elementos


removidos:
register_globals,
safe_mode,
allow_call_time_pass_reference,
session_register(),
session_unregister() y session_is_registered(). Servidor web
incorporado.18 Varias mejoras a caractersticas existentes y al
rendimiento,yrequerimientosdememoriamenores.

5.5

20062013

20062016

Nuevos generadores para bucles, empty() soporta expresiones. Se


pierdeelsoporteparaWindowsXPyWindowsServer2003.19

5.6

20082014

28082017

Constantes con expresiones escalares, listas de argumentos de


longitudvariableyexponencialmedianteeloperador**.20

5.3

EldesarrollodePHP6hasidoretrasadoporquelosdesarrolladores
decidieronqueelenfoqueactualparatratarcadenasUnicodenoes
correcto, y estn considerando formas alternas para la siguiente
versin.21LasmejorasplaneadasparaPHP6fueronaadidasensu

versin.21LasmejorasplaneadasparaPHP6fueronaadidasensu
lugar en PHP 5.3.0 (Soporte para espacios de nombre, enlace
estticoentiempodeejecucin,funcioneslambda,clausuras,goto)
y5.4.0(traits,revinculacindeclausura).

6.x

Sehaabandonadolaversin6dePHPsiendolasiguienteversin
la7.22
7.0

0311201523 03112018

Mejoras de rendimiento 24 , declaracin de tipos de retorno en


funciones25

Sintaxis
ProgramaHolamundoconPHPembebidoencdigoHTML:
<!DOCTYPEhtml>
<htmllang="es">
<head>
<metacharset="UTF8"/>
<title>EjemplobsicoPHP</title>
</head>
<body>
<?php
echo'Holamundo';
?>
</body>
</html>

ElintrpretedePHPsoloejecutaelcdigoqueseencuentraentresusdelimitadores.Losdelimitadoresms
comunesson <?phpparaabrirunaseccinPHPy ?> para cerrarla. El propsito de estos delimitadores es
separarelcdigoPHPdelrestodecdigo,comoporejemploelHTML.26
Las variables se prefijan con el smbolo del dlar ($) y no es necesario indicar su tipo. Las variables, a
diferencia de las funciones, distinguen entre maysculas y minsculas. Las cadenas de caracteres pueden
serencapsuladastantoendoblescomillascomoencomillassimples,aunqueenelcasodelasprimeras,se
puedeninsertarvariablesenlacadenadirectamente,sinnecesidaddeconcatenacin.
Los comentarios se pueden escribir bien con dos barras al principio de la lnea, o con una almohadilla.
Tambinpermitecomentariosmultilneaencapsuladosen/**/.
En cuanto a las palabras clave, PHP comparte con la mayora de otros lenguajes con sintaxis C las
condicionesconif,losbuclesconforywhileylosretornosdefunciones.Comoeshabitualenestetipode
lenguajes,lassentenciasdebenacabarconpuntoycoma(;).

CaractersticasdePHP
Caractersticas
Orientadoaldesarrollodeaplicacioneswebdinmicasconaccesoainformacinalmacenadaenuna

basededatos.
Es considerado un lenguaje fcil de aprender, ya que en su desarrollo se simplificaron distintas
especificaciones, como es el caso de la definicin de las variables primitivas, ejemplo que se hace
evidenteenelusodephparrays.
ElcdigofuenteescritoenPHPesinvisibleal navegadorwebyalcliente,yaqueeselservidorel
queseencargadeejecutarelcdigoyenviarsuresultadoHTMLalnavegador.
Capacidad de conexin con la mayora de los motores de base de datos que se utilizan en la
actualidad,destacasuconectividadconMySQLyPostgreSQL.
Capacidaddeexpandirsupotencialutilizandomdulos(llamadosext'soextensiones).
Posee una amplia documentacin en su sitio web oficial, entre la cual se destaca que todas las
funcionesdelsistemaestnexplicadasyejemplificadasenunnicoarchivodeayuda.
Eslibre,porloquesepresentacomounaalternativadefcilaccesoparatodos.
Permiteaplicartcnicasdeprogramacinorientadaaobjetos.
Norequieredefinicindetiposdevariablesaunquesusvariablessepuedenevaluartambinporel
tipoqueestnmanejandoentiempodeejecucin.
Tienemanejodeexcepciones(desdePHP5).
SibienPHPnoobligaaquienlousaaseguirunadeterminadametodologaalahoradeprogramar,
anhacindolo,elprogramadorpuedeaplicarensutrabajocualquiertcnicadeprogramacinode
desarrolloquelepermitaescribircdigoordenado,estructuradoymanejable.Unejemplodeestoson
losdesarrollosqueenPHPsehanhechodelpatrndediseoModeloVistaControlador(MVC),que
permitenseparareltratamientoyaccesoalosdatos,lalgicadecontrolylainterfazdeusuarioen
trescomponentesindependientes.
DebidoasuflexibilidadhatenidounagranacogidacomolenguajebaseparalasaplicacionesWEB
demanejodecontenido,yessuusoprincipal.

Inconvenientes
Comoesunlenguajequeseinterpretaenejecucin,paraciertosusospuederesultaruninconveniente
que el cdigo fuente no pueda ser ocultado. La ofuscacin es una tcnica que puede dificultar la
lecturadelcdigoperononecesariamenteimpidequeelcdigoseaexaminado.
Debidoaqueesunlenguajeinterpretado,unscriptenPHPsuelefuncionarconsiderablementems
lento que su equivalente en un lenguaje de bajo nivel, sin embargo este inconveniente se puede
minimizarcontcnicasdecachtantoenarchivoscomoenmemoria.
Enlasversionespreviasala7,lasvariablesnosontipificadas,locualdificultaalosdiferentesIDEs
ofrecer asistencias para el tipificado del cdigo, aunque esto no es realmente un inconveniente del
lenguaje en s. Esto es solventado por algunos IDEs aadiendo un comentario con el tipo a la
declaracindelavariable.

XAMPP,LAMP,WAMP,MAMP,UwAmp
XAMPPesunservidorindependientedeplataforma,softwarelibre,queconsisteprincipalmenteenlabase
dedatosMySQL,elservidorWebApacheylosintrpretesparalenguajesdescript:PHPyPerl.Elnombre
provienedelacrnimodeX(paracualquieradelosdiferentessistemasoperativos),Apache,MySQL,PHP,
Perl.ElprogramaestliberadobajolalicenciaGNUyactacomounservidorWeblibre,fcildeusary
capaz de interpretar pginas dinmicas. Actualmente XAMPP esta disponible para Microsoft Windows,
GNU/Linux, Solaris, y MacOS X. Es un software "liviano" que se puede utilizar en cualquier PC. No
necesitamuchosrecursos.

LAMP presenta una funcionalidad parecida a XAMPP, pero


enfocada en Linux, WAMP lo hace enfocado en Windows, y
MAMPparaMacOSX.UwAmpesmuyidnticoaWAMPyse
destacaenquesepuedeejecutardesdeunamemoriaUSB.

PrincipalessitiosdesarrolladosconPHP
Se utilizaPHPenmillones de sitios entre los ms destacados
seencuentranWikipedia.org,Facebook.comyWordpress.com.

Referencias

LaLAMPcomprendePHP(aqucon
Squid).

1.Historia de PHP y Proyectos Relacionados (http://web.archive.org/web/http://es2.php.net/history). Archivado


desdeeloriginal(http://es2.php.net/history)el30denoviembrede2015.Consultadoel17deoctubrede2012.
2.ProyectoGNULicenciasdesoftwarelibreincompatiblesconlaGPL(http://www.gnu.org/licenses/licenselis
t.html#GPLIncompatibleLicenses).Consultadoel17deoctubrede2012.
3.FAQGeneral(http://us.php.net/manual/en/faq.general.php)PHP.net.
4.Historicaltrendsintheusageofserversideprogramminglanguagesforwebsites(http://w3techs.com/technolo
gies/history_overview/programming_language)(eningls).W3Techs.Consultadoel10deseptiembrede2013.
5.PHPGTK(http://gtk.php.net/)(eningls).PHPGroup.Consultadoel10deseptiembrede2013.
6.PHP:Funcionamientoenlneadecomandos(http://www.php.net/manual/es/features.commandline.introduction.
php).PHPGroup.Consultadoel10deseptiembrede2013.
7.dompdf HTML to PDF converter (PHP5)(http://code.google.com/p/dompdf/)(eningls). Consultado el 10
deseptiembrede2013.
8.PHP: Extensiones de bases de datos Manual(http://www.php.net/manual/es/refs.database.php).PHPGroup.
Consultadoel10deseptiembrede2013.
9.Existen tanto PHPEclipse como PDT for Eclipse. Vanse http://www.phpeclipse.com y
http://www.eclipse.org/pdt
10.PHP: News Archives 2007 (http://www.php.net/archive/2007.php) (en ingls). Consultado 9 de diciembre de
2007.
11.PHP:NewsArchives2008(http://www.php.net/archive/2008.php#id200808071)(eningls).
12.Archivo:13dejuliode2007(http://www.php.net/archive/2007.php#200707131)PHP.net.
13.HistoryofPHPandrelatedprojects(http://www.php.net/history).ThePHPGroup.Consultadoel25defebrero
de2008.
14.PHP: PHP 4 ChangeLog (http://www.php.net/ChangeLog4.php). The PHP Group. 3 de enero de 2008.
Consultadoel22defebrerode2008.
15.PHP:UsingPHPfromthecommandlineManual: (http://us3.php.net/manual/en/features.commandline.php).
ThePHPGroup.Consultadoel11deseptiembrede2009.
16.PHP: PHP 5 ChangeLog(http://www.php.net/ChangeLog5.php). The PHP Group. 8 de noviembre de 2007.
Consultadoel22defebrerode2008.
17.Last5.3releaseeveravailable:PHP5.3.295.3nowEOL(http://php.net/archive/2014.php#id201408141).
PHP.Consultadoel20deseptiembrede2013.
18.Builtin web server (http://php.net/manual/en/features.commandline.webserver.php). Consultado el 26 de
marzode2012.
19.WhathaschangedinPHP5.5.x(http://php.net/manual/es/migration55.changes.php).Consultadoel13deabril
de2013.
20.MigratingfromPHP5.5.xtoPHP5.6.x(http://web.archive.org/web/http://fi1.php.net/migration56.newfeature
s). Archivado desde el original (http://fi1.php.net/migration56.newfeatures) el 30 de noviembre de 2015.
Consultadoel20deseptiembrede2014.
21.PHP6:Features,ReleaseDate,HostingandDownload(http://smartwebdeveloper.com/php/php6featuresrelea
sedatehostingdownload).Consultadoel6demayode2011.

22.NombredelaprximaversindePHP(https://wiki.php.net/rfc/php6).Consultadoel24dejuliode2014.
23.RFC: PHP 7.0 Timeline(https://wiki.php.net/rfc/php7timeline). 4 de noviembre de 2015. Consultado el 4 de
noviembrede2015.
24.BenchmarkingPHPNG!(http://zsuraski.blogspot.com.br/2014/07/benchmarkingphpng.html).
25.PHPRFC:ReturnTypeDeclarations(https://wiki.php.net/rfc/return_types).
26.PHP:Sintaxisbsica(http://php.net/manual/es/language.basicsyntax.php).Consultadoel13deabrilde2013.

Enlacesexternos
WikilibrosalbergaunlibroomanualsobreProgramacinenPHP.
SitioweboficialdePHP(http://www.php.net)(eningls).
PHPbyExample (http://micmap.org/phpbyexample/es) Probar las funciones de PHP en lnea
(+500).
Tutorial extensivo de PHP y MySQL (http://freevst.x10.mx/morethandreams/php_000.php) (en
ingls).
TutorialdePHPyMysql.(http://paginaweb2.com/catphpymysql6)
Manualoficialenespaol.(http://docs.php.net/manual/es)
ManualesdiversosdePHP.(http://programu.net/posts/php/)
InsertarregistrosenPHPyMySQL.(http://www.grupocodesi.com/blog/cursophpgratis.html)
Obtenidodehttps://es.wikipedia.org/w/index.php?title=PHP&oldid=90808684
Categoras:
PHP Siglasdeinformtica Lenguajesdeprogramacinporprocedimientos
Lenguajesdeprogramacindinmicamentetipados Softwaremultiplataforma
TerminologadeInternet Lenguajesdeprogramacindealtonivel
Estapginafuemodificadaporltimavezel1may2016alas21:31.
EltextoestdisponiblebajolaLicenciaCreativeCommonsAtribucinCompartirIgual3.0podran
seraplicablesclusulasadicionales.Alusarestesitio,ustedaceptanuestrostrminosdeusoynuestra
polticadeprivacidad.
WikipediaesunamarcaregistradadelaFundacinWikimedia,Inc.,unaorganizacinsinnimode
lucro.

Potrebbero piacerti anche