domingo, 3 de mayo de 2015

¿Que es PHP?

    PHP es el acrónimo de Hipertext Preprocesor. Es un lenguaje de programación del lado del servidor gratuito e independiente de plataforma, rápido, con una gran librería de funciones y mucha documentación.
    Un lenguaje del lado del servidor es aquel que se ejecuta en el servidor web, justo antes de que se envíe la página a través de Internet al cliente. Las páginas que se ejecutan en el servidor pueden realizar accesos a bases de datos, conexiones en red, y otras tareas para crear la página final que verá el cliente. El cliente solamente recibe una página con el código HTML resultante de la ejecución de la PHP. Como la página resultante contiene únicamente código HTML, es compatible con todos los navegadores. Podemos saber algo más sobre la programación del servidor y del cliente en el artículo qué es DHTML.






        




Autor

Miguel es fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Comenzó en el mundo del desarrollo web en el año 1997, transformando su hobby en su trabajo


Historia

   PHP (siglas que originalmente significaban Personal Home Page) fue primero escrito por Rasmus Lerdorf como un simple conjunto de scripts de Perl para guiar a los usuarios en sus páginas. Luego para satisfacer inquietudes del mismo tipo por parte de otra gente lo reescribe, pero esta vez como un lenguaje de script agregándole entre otras características soporte para formularios. Al ver como la popularidad del lenguaje aumenta, un grupo de desarrolladores crea para él un API, convirtiéndose así en el PHP3. Fue en ese momento cuando el parser de scripts PHP es completamente reescrito (el Zend Engine) dando vida al PHP4 mucho más rápido, tal y como lo conocemos en la actualidad.

PHP actualmente significa Hypertext Preprocessor y está listo para su mejor momento.

    Desde sus inicios hasta la versión 4 ha sido desarrollada por muchas personas.

    El sistema fue denominado Personal Home Page Tools y adquirió relativo éxito gracias a que otras personas pidieron a Rasmus que les permitiese utilizar sus programas en sus propias páginas. Dada la aceptación del primer PHP y de manera adicional, su creador diseñó un sistema para procesar formularios al que le atribuyó el nombre de FI (Form Interpreter) y el conjunto de estas dos herramientas, sería la primera versión compacta del lenguaje: PHP/FI.

    La siguiente gran contribución al lenguaje se realizó a mediados del 97 cuando se volvió a programar el analizador sintáctico, se incluyeron nuevas funcionalidades como el soporte a nuevos protocolos de Internet y el soporte a la gran mayoría de las bases de datos comerciales.

    Todas estas mejoras sentaron las bases de PHP versión 3. Actualmente PHP se encuentra en su versión 4, que utiliza el motor Zend, desarrollado con mayor meditación para cubrir las necesidades actuales y solucionar algunos inconvenientes de la anterior versión.
    
    Algunas mejoras de esta nueva versión son su rapidez -gracias a que primero se compila y luego se ejecuta, mientras que antes se ejecutaba mientras se interpretaba el código-, su mayor independencia del servidor web -creando versiones de PHP nativas para más plataformas- y un API más elaborado y con más funciones.

    En el último año, el número de servidores que utilizan PHP se ha disparado, logrando situarse cerca de los 5 millones de sitios y 800.000 direcciones IP, lo que le ha convertido a PHP en una tecnología popular. Esto es debido, entre otras razones, a que PHP es el complemento ideal para que el tándem Linux-Apache sea compatible con la programación del lado del servidor de sitios web.

    Gracias a la aceptación que ha logrado, y los grandes esfuerzos realizados por una creciente comunidad de colaboradores para implementarlo de la manera más óptima, podemos asegurar que el lenguaje se convertirá en un estándar que compartirá los éxitos augurados al conjunto de sistemas desarrollados en código abierto.




Publicado por:
Jimi Marley 


http://programacion.net/articulo/por_que_elegir_php_143






Video Tutorial


Hacia dónde va PHP



    PHP es un lenguaje plagado de características propias del lenguaje humano: ambigüedades, comportamientos no definidos o no esperables, funcionalidades marginales, etc. Desde la sintaxis de llamada de métodos, el carácter de separación de módulo (\), como muchos otros problemas de eficiencia y de nomenclatura de funciones. Para ver un buen resumen de los problemas de PHP, puedes verlo en esta web: http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/.

    Ahora bien, un lenguaje puede “arreglarse”, ¿están haciendo algo los desarrolladores del PHP Group? Vamos a verlo.

    En la versión 5.4 de PHP, se introdujeron funcionalidades como los Traits (que ya comenté en una entrada anterior), la ansiada nueva sintaxis para los arrays, desreferenciación de arrays desde llamadas a función y un servidor web para desarrollo de pruebas en local y otras características menores que no hacen sino dotar de más facilidades al desarrollador. Esta funcionalidad de herencia horizontal permite ahorrar multitud de código y simular herencia múltiple.

    La próxima versión de PHP (la versión 5.5) ya está siendo “cocinada” por los desarrolladores y voy a comentar las características que están siendo discutidas en la lista de distribución de este lenguaje como “futuribles” de este lenguaje. Las he extraído de http://nikic.github.com/2012/07/10/What-PHP-5-5-might-look-like.html y de la lista de correo:

* Desreferenciación de constantes: útil para llamar a funciones de arrays sobre cadenas o arrays.

* La construcción del lenguaje PHP, empty, funcionará sobre expresiones.

*Omisión de parámetros por defecto en llamadas a funciones.

* Consultores y establecedores, quizás (se está comentando) estilo C#.

* Funciones generadoras, pudiendo crear arrays a partir de una expresión.

Si se implementa esta funcionalidad, ¿qué queda para que PHP sea similar a un lenguaje “bien” diseñado? Desde mi punto de vista, los siguientes:

* Llamada a métodos desde constantes.

* Hebras

* Librerías extra con clases de colección y de cadena.

     Seguramente, los desarrolladores de Python discrepen sobre esto, pero yo también discrepo sobre la función len sobre listas, el tener que hacer las conversiones de tipos de forma explícita, la sintaxis de declaración de métodos, o los problemas que causa la indentación obligatoria.

    Por otro lado, está habiendo un surgimiento de plataformas de ejecución de PHP distintas a la desarrollada por el PHP Group:

* HipHop: traductor de código PHP a código C++, de manera que se puede compilar a código máquina, reduciendo la carga de servidor al 50%. Nótese que este compilador no implementa toda la sintaxis de PHP. Url: https://github.com/facebook/hiphop-php/wiki/ Desde Facebook también estuvieron haciendo experimentos con un nuevo intérprete de PHP llamado HPHPI.

* Quercus: intérprete desarrollado en Java, con una versión de pago que incluye un compilador de PHP a bytecode Java. Url: http://quercus.caucho.com/
Phalanger: compilador de PHP a código .Net. Url: http://www.php-compiler.net/

* PHC: compilador de código PHP (http://www.phpcompiler.org/).
Por último, queremos reseñar los últimos experimentos de los que hemos tenido noticia: un intérprete de PHP desarrollado sobre Python (http://morepypy.blogspot.com.es/2012/07/hello-everyone.html). Obviamente es un experimento y no ha de usarse para propósitos serios, más aún si se tiene en cuenta que sólo implementan la versión 1.0 de PHP.

    Estas plataformas nos hacen ver que hay interés en que PHP siga siendo la plataforma más usada a día de hoy en la web.




Diego J. Romero

http://blog.intelligenia.com/2012/07/esta-agonizando-php.html


Características de PHP



    * Orientado al desarrollo de aplicaciones web dinámicas con acceso a información almacenada en una base de datos.

    * Es considerado un lenguaje fácil de aprender, ya que en su desarrollo se simplificaron distintas especificaciones, como es el caso de la definición de las variables primitivas, ejemplo que se hace evidente en el uso de php arrays.

    * El código fuente escrito en PHP es invisible al navegador web y al cliente, ya que es el servidor el que se encarga de ejecutar el código y enviar su resultado HTML al navegador. Esto hace que la programación en PHP sea segura y confiable.

    * Capacidad de conexión con la mayoría de los motores de base de datos que se utilizan en la actualidad, destaca su conectividad con MySQL y PostgreSQL.

    * Capacidad de expandir su potencial utilizando módulos (llamados ext's o extensiones).

    * Posee una amplia documentación en su sitio web oficial, entre la cual se destaca que todas las funciones del sistema están explicadas y ejemplificadas en un único archivo de ayuda.

    * Es libre, por lo que se presenta como una alternativa de fácil acceso para todos.

    *Permite aplicar técnicas de programación orientada a objetos.

    *No requiere definición de tipos de variables aunque sus variables se pueden evaluar también por el tipo que estén manejando en tiempo de ejecución.

    * Tiene manejo de excepciones (desde PHP5).

    * Si bien PHP no obliga a quien lo usa a seguir una determinada metodología a la hora de programar, aún haciéndolo, el programador puede aplicar en su trabajo cualquier técnica de programación o de desarrollo que le permita escribir código ordenado, estructurado y manejable. Un ejemplo de esto son los desarrollos que en PHP se han hecho del patrón de diseño Modelo Vista Controlador (MVC), que permiten separar el tratamiento y acceso a los datos, la lógica de control y la interfaz de usuario en tres componentes independientes.


    * Debido a su flexibilidad ha tenido una gran acogida como lenguaje base para las aplicaciones WEB de manejo de contenido, y es su uso principal.







Sintaxis

Programa Hola mundo con PHP embebido en código HTML:

 <!DOCTYPE html>
<html lang="es">
    <head>
        <meta charset="UTF-8" />
        <title> Ejemplo básico PHP</title>
    </head>
    <body>
        <?php
            echo 'Hola mundo';
        ?>
    </body>
</html>


    El intérprete de PHP solo ejecuta el código que se encuentra entre sus delimitadores. Los delimitadores más comunes son <? php para abrir una sección PHP y ?> para cerrarla. El propósito de estos delimitadores es separar el código PHP del resto de código, como por ejemplo el HTML.23

    Las variables se prefijan con el símbolo del dólar ($) y no es necesario indicar su tipo. Las variables, a diferencia de las funciones, distinguen entre mayúsculas y minúsculas. Las cadenas de caracteres pueden ser encapsuladas tanto en dobles comillas como en comillas simples, aunque en el caso de las primeras, se pueden insertar variables en la cadena directamente, sin necesidad de concatenación.

    Los comentarios se pueden escribir bien con dos barras al principio de la línea, o con una almohadilla. También permite comentarios multi-línea encapsulados en /* */.


    En cuanto a las palabras clave, PHP comparte con la mayoría de otros lenguajes con sintaxis C las condiciones con if, los bucles con for y while y los retornos de funciones. Como es habitual en este tipo de lenguajes, las sentencias deben acabar con punto y coma (;).

Ventajas adicionales de PHP



    PHP corre en (casi) cualquier plataforma utilizando el mismo código fuente, pudiendo ser compilado y ejecutado en algo así como 25 plataformas, incluyendo diferentes versiones de Unix, Windows (95,98,NT,ME,2000,XP,bla,bla,bla) y Macs. Como en todos los sistemas se utiliza el mismo código base, los scripts pueden ser ejecutados de manera independiente al OS.

    La sintaxis de PHP es similar a la del C, por esto cualquiera con experiencia en lenguajes del estilo C podrá entender rápidamente PHP. Entre los lenguajes del tipo C incluimos al Java y Javascript, de hecho mucha de la funcionalidad del PHP se la debe al C en funciones como fread() o srtlen(), así que muchos programadores se sentirán como en casa.

    PHP es completamente expandible. Está compuesto de un sistema principal (escrito por Zend), un conjunto de módulos y una variedad de extensiones de código.

    Muchas interfaces distintas para cada tipo de servidor. PHP actualmente se puede ejecutar bajo Apache, IIS, AOLServer, Roxen yTHTTPD. Otra alternativa es configurarlo como modulo CGI.
Puede interactuar con muchos motores de bases de datos tales como MySQL, MS SQL, Oracle, Informix, PostgreSQL, y otros muchos. Siempre podrás disponer de ODBC para situaciones que lo requieran.

    Una gran variedad de módulos cuando un programador PHP necesite una interfase para una librería en particular, fácilmente podrá crear una API para esta. Algunas de las que ya vienen implementadas permiten manejo de gráficos, archivos PDF, Flash, Cybercash, calendarios, XML, IMAP, POP, etc.
Rapidez. PHP generalmente es utilizado como modulo de Apache, lo que lo hace extremadamente veloz. Esta completamente escrito en C, así que se ejecuta rápidamente utilizando poca memoria.


    PHP es Open Source, lo cual significa que el usuario no depende de una compañía específica para arreglar cosas que no funcionan, además no estás forzado a pagar actualizaciones anuales para tener una versión que funcione. Muchos de nosotros que hemos esperado que Allaire arregle algo apreciamos esto.




Publicado por:
Jimi Marley 
http://programacion.net/articulo/por_que_elegir_php_143