Propietario

Bolivar, Venezuela

jueves, 30 de mayo de 2019

UNIDAD I - INTRODUCCION AL DESARROLLO DE CONOCIMIENTOS PREVIOS DEL LENGUAJE DE HIPERTEXTO PREPROCESADOR - electiva I


1.1 Historia de PHP

PHP Tools, FI, Equipo de Construcción, y PHP/FI

PHP tal y como se conoce hoy en día es en realidad el sucesor de un producto llamado PHP/FI. Creado en 1994 por Rasmus Lerdorf, la primera encarnación de PHP era un conjunto simple de ficheros binarios Common Gateway Interface (CGI) escritos en el lenguaje de programación C. Originalmente utilizado para rastrear visitas de su currículum online, llamó al conjunto de scripts "Personal Home Page Tools", más frecuentemente referenciado como "PHP Tools". Con el paso del tiempo se quiso más funcionalidad, y Rasmus reescribió PHP Tools, produciendo una implementación más grande y rica. Este nuevo modelo fue capaz de interaccionar con bases de datos, y mucho más, proporcionando un entorno de trabajo sobre cuyos usuarios podían desarrollar aplicaciones web dinámicas sencillas tales como libros de visitas. En junio de 1995, Rasmus publico el código fuente de PHP Tools, lo que permitió a los desarrolladores usarlo como considerasen apropiado. Esto también permitió -y animó- a los usuarios a proporcionar soluciones a los errores del código, y generalmente a mejorarlo.
En septiembre de ese mismo año, Rasmus amplió PHP y -por un corto periodo de tiempo- abandonó el nombre de PHP. Ahora, refiriéndose a las herramientas como FI (abreviatura de "Forms Interpreter"), la nueva implementación incluía algunas de las funciones básicas de PHP tal y como la conocemos hoy. Tenía variables como las de Perl, interpretación automática de variables de formulario y sintaxis incrustada HTML. La sintaxis por sí misma era similar a la de Perl, aunque mucho más limitada, simple y algo inconsistente. De hecho, para embeber el código en un fichero HTML, los desarrolladores tenían que usar comentarios de HTML.



1.2 Qué es PHP.

Es un lenguaje para programar scripts del lado del servidor, que se incrustan dentro del código HTML. Este lenguaje es gratuito y multiplataforma.
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.


Una vez que ya conocemos el concepto de lenguaje de programación de scripts del lado del servidor podemos hablar de PHP. PHP se escribe dentro del código HTML, lo que lo hace realmente fácil de utilizar, al igual que ocurre con el popular ASP de Microsoft, pero con algunas ventajas como su gratuidad, independencia de plataforma, rapidez y seguridad. Cualquiera puede descargar a través de la página principal de PHP www.php.net y de manera gratuita, un módulo que hace que nuestro servidor web comprenda los scripts realizados en este lenguaje. Es independiente de plataforma, puesto que existe un módulo de PHP para casi cualquier servidor web. Esto hace que cualquier sistema pueda ser compatible con el lenguaje y significa una ventaja importante, ya que permite portar el sitio desarrollado en PHP de un sistema a otro sin prácticamente ningún trabajo.
PHP, en el caso de estar montado sobre un servidor Linux u Unix, es más rápido que ASP, dado que se ejecuta en un único espacio de memoria y esto evita las comunicaciones entre componentes COM que se realizan entre todas las tecnologías implicadas en una página ASP.
Por último señalábamos la seguridad, en este punto también es importante el hecho de que en muchas ocasiones PHP se encuentra instalado sobre servidores Unix o Linux, que son de sobra conocidos como más veloces y seguros que el sistema operativo donde se ejecuta las ASP, Windows NT o 2000. Además, PHP permite configurar el servidor de modo que se permita o rechacen diferentes usos, lo que puede hacer al lenguaje más o menos seguro dependiendo de las necesidades de cada cual.
Fue creado originalmente en 1994 por Rasmus Lerdorf, pero como PHP está desarrollado en política de código abierto, a lo largo de su historia ha tenido muchas contribuciones de otros desarrolladores. Actualmente PHP se encuentra en su versión 4, que utiliza el motor Zend, desarrollado con mayor meditación para cubrir las necesidades de las aplicaciones web actuales.



1.3 características del lenguaje PHP .

 


¿Debería aprender PHP? Esa es la pregunta del millón. Ya han sido algunas ocasiones que he recomendado dominar el abanico de los lenguajes web (HTML, CSS, PHP, SQL y JavaScript). No sólo por el hecho de que hay trabajo de ello, por lo que con los tiempos que corren en el mundo laboral, es algo que tenéis ganado. También por la potencia que le vais a dar a vuestras webs. Pero dejando de lado el factor formativo, necesitaremos de tal cuando deseemos que nuestros HTML se alimenten de los datos de un servidor.
Pondré, por ejemplo, una vez más, la tienda online. Los productos que tenemos en nuestro almacén no siempre son los mismos. Varían y eso causa que los datos también lo hagan. Si nuestra web es estática (no se modifica de manera automática), somos nosotros, los desarrolladores, los que debemos introducir los nuevos datos para que se visualicen. Gracias a PHP y su habilidad para conectarse a un servidor, podemos generar un pequeño código que haga esto por nosotros y ahorrarnos trabajo. Esta es la característica más notable del lenguaje: la conexión a un servidor para acceder a los datos. Os gustará saber que es un lenguaje fácil de aprender. No es especialmente complejo y comparte sintaxis con otros que podáis haber visto anteriormente, como por ejemplo JavaScript (su vecino en este mundo). Vamos a repasar con una lista qué podemos hacer con PHP.

1. Gran extensión de documentación 

Ya sea creada de manera oficial como por los usuarios, PHP tiene la ventaja de ser usado por millones de usuarios en muchos proyectos. De cara al nuevo programador es una gran ventaja porqué no hay nada mejor que un lenguaje con una gran comunidad detrás, sobre todo para los no tan afines al idioma anglosajón.

2. Variedad de herramientas para aprender 

Tenemos varios métodos para iniciarnos: podemos contratar un servidor remoto para subir nuestros archivos, como haríamos con cualquier web, lo cual tiene lógica ya que si tenéis vuestro sitio en la red ya tenéis este recurso con vosotros; podemos crear un servidor local con una máquina virtual, o lo más popular entre los alumnos: descargar la herramienta libre WAMP (XAMP o LAMP en función de si es para Mac OSX o Linux). Esta herramienta simula que vuestra máquina local es un servidor web para poder ejecutar los ficheros PHP. Es decir, sea cual sea vuestra situación, es imposible que os quedéis fuera, sobretodo teniendo en cuenta que no requiere un entorno de desarrollo complejo, como ocurre con Titanium.

3. Mucha oferta de trabajo

Hoy en día las webs más complejas funcionan bajo PHP, por lo que son muchas las empresas que requieren los servicios de un desarrollador de este lenguaje.

4. Permite programación orientada a objetos

Esto significa que podréis dividir vuestros scripts en métodos, clases, etc. para hacer más ágil de cara al servidor el procesamiento de los datos.

5. Módulos externos para mejorar la aplicación web

Gracias a esto, podréis implementar funcionalidades que de por sí no existen, siendo una gran solución a vuestras necesidades. Por ejemplo, en vez de programar de cero una pantalla de registro, podéis usar un módulo ya hecho. Esto no sería posible si no fuese orientado a objetos, como menciono en el punto anterior.

6. Se puede separar la estructura

Con esto quiero decir que podéis tener de manera independiente el código que se encarga de mover los datos del que se enlaza a la interfaz. Esto se conoce como Modelo Vista/Controlador (MVC). Gracias a esta característica, no “contaminaremos” código con líneas innecesarias y lo mantendremos limpio y ordenado.

7. La libertad es un bien muy preciado

Si, PHP es totalmente libre y multi-plataforma, por lo que no importa que sistema operativo uséis. Su desarrollo es posible en cualquier sitio (siempre y cuando la máquina sea capaz de ejecutar el código).
Como podéis ver, cuando PHP salió a la luz, nunca un lenguaje web llegó a ser tan potente y lleno de posibilidades, y aún hoy en día se usa en todo el mundo. Sin ir más lejos, ¿cómo creéis que Facebook maneja tantos datos y es capaz de mover una web dinámica tan grande? O, por poner otro ejemplo, ya que muchas veces hemos hablado de él, Wordpress funciona bajo PHP.



1.4 Funcionamiento del PHP

PHP es un lenguaje de programación usado frecuentemente para la creación de contenido para sitios web con los cuales se puede programar las paginas html y los codigos de fuente. PHP es un acrónimo recursivo que significa “PHP Hypertext Pre-processor” (inicialmente PHP Tools, o, Personal Home Page Tools), y se trata de un lenguaje interpretado usado para la creación de aplicaciones para servidores, o creación de contenido dinámico para sitios web. Últimamente también para la creación de otro tipo de programas incluyendo aplicaciones con interfaz gráfica usando las librerías Qt o GTK+.
USO DEL PHP
Los principales usos del PHP son los siguientes:
  • Programación de páginas web dinámicas, habitualmente en combinación con el motor de base datos MySQL, aunque cuenta con soporte nativo para otros motores, incluyendo el estándar ODBC, lo que amplía en gran medida sus posibilidades de conexión.
  • Programación en consola, al estilo de Perl o Shell scripting.
  • Creación de aplicaciones gráficas independientes del navegador, por medio de la combinación de PHP y Qt/GTK+, lo que permite desarrollar aplicaciones de escritorio en los sistemas operativos en los que está soportado.
VENTAJAS DEL PHP
  • Es un lenguaje multiplataforma.
  • Capacidad de conexión con la mayoría de los manejadores de base de datos que se utilizan en la actualidad, destaca su conectividad con MySQL
  • Leer y manipular datos desde diversas fuentes, incluyendo datos que pueden ingresar los usuarios desde formularios HTML.
  • Capacidad de expandir su potencial utilizando la enorme cantidad de módulos (llamados ext’s o extensiones).
  • Posee una amplia documentación en su página oficial ([1]), 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 las técnicas de Programación Orientada a Objetos.
  • Permite crear los formularios para la web.
  • Biblioteca nativa de funciones sumamente amplia e incluida
  • No requiere definición de tipos de variables ni manejo detallado del bajo nivel.
A continuación un ejemplo de una página web sencilla desarrollada utilizando el lenguaje PHP.
<html>

<head>

    <title>Ejemplo</title>

</head>

<body>

<?php

if (isset($_POST['muestra'])) {

     echo 'Hola, '.htmlentities($_POST['nombre'])

         .', tu comida favorita es:'. htmlentities($_POST['comida']);

} else {

?>

<form method="POST" action="?">

    ¿Cuál es tu nombre?

    <input type="text" name="nombre">

    ¿Cuál es tu comida favorita?

    <select name="comida">

        <option>Spaguetis</option>

        <option>Asado</option>

        <option>Pizza</option>

    </select>

    <input type="submit" name="muestra" value="Seguir">

</form>

<?php

}

?>

</body>

</html>
En este código es posible observar las siguientes características:
  • Las variables enviadas por un formulario utilizando el método POST, son recibidas en el lenguaje dentro de la matriz $_POST, lo cual facilita la obtención de este tipo de datos. Este mismo método es utilizado por el lenguaje para todas las fuentes de información en una aplicación web, tales como cookies en la matriz $_COOKIES, variables de URL en $_GET (que en formularios puede servir para guardar los datos), variables de sesión utilizando $_SESSION, y variables del servidor y del cliente por medio de la matriz $_SERVER.
  • El código PHP está incrustado dentro del HTML e interactúa con el mismo, lo que permite diseñar la página Web en un editor común de HTML y añadir el código dinámico dentro de las etiquetas <?php ?>.
  • El resultado muestra y oculta ciertas porciones del código HTML en forma condicional.
  • Es posible utilizar funciones propias del lenguaje para aplicaciones Web como htmlentitites(), que convierte los caracteres que tienen algún significado especial en el código HTML o que podrían desplegarse erróneamente en el navegador como acentos o diéresis, en sus equivalentes en formato HTML..

1.5 Arquitectura de PHP.

El complemento de caché de consultas está implementado como una extensión de PHP. Está escrita en C y opera bajo el manto de PHP. Durante el arraque del intérprete de PHP, se registra como un complemento de mysqlnd para reemplazar a los métodos en C de mysqlnd seleccionados. Por lo tanto, se puede cambiar el comportamiento de cualquier extensión de MySQL para PHP (mysqli, PDO_MYSQL, mysql) compilada para usar la biblioteca mysqlnd sin cambiar la API de la extensión. Esto hace que el complemento sea compatible con cada una de las aplicaciones de MySQL para PHP. Ya que las APIs existentes no se cambian, es casi transparente de usar. Por favor, véase la descripción de la API de complementos de mysqlnd para una discusión sobre las ventajas de la arquitectura del complemento y una comparación con soluciones basadas en proxy.
Transparente de usar
En tiempo de ejecución de PHP, PECL/mysqlnd_qc puede representar a consultas enviadas desde PHP (mysqlnd) al servidor MySQL. Luego inspecciona la sentencia para buscar si puede almacenar en caché sus resultados. Si puede, el conjunto de resultados se almacena en caché usando un gestor de almacenamiento, por lo que ejecuciones posteriores de la sentencia se servirán desde la caché por un periodo definido por el usuario. El tiempo de vida (TTL) de una entrada de la caché se puede establecer globalmente o en función de cada sentencia.
Una sentencia será almacena en caché si al complemento se le indica que almacene todas las sentencias globalmente, o si la consulta comienza con la sugerencia SQL (/*qc=on*/). El complemento puede almacenar en caché cualquier consulta emitida invocando a las llamadas apropiadas a la API de cualquier extensión existente de MySQL para PHP.
Almacenamiento flexible: distintos gestores de almacenamiento
Se admiten distintos gestores de almacenamiento para ofrecer diferentes ámbitos para las entradas de la caché. Los diferentes ámbitos tienen en cuenta diferentes grados de compartir las entradas de la caché entre clientes.
  • default (interno): memoria del proceso, ámbito: proceso, una o más peticiones web dependiendo del modelo de desarrollo de PHP usado
  • APC: memoria compartida, ámbito: servidor único, múltiples peticiones web
  • SQLite: memoria o fichero, ámbito: servidor único, múltiples peticiones web
  • MEMCACHE: memoria principal, ámbito: servidor único o varios, múltiples peticiones web
  • user (interno): definido por el usuario - cualquiera, ámbito: definido por el usuario - cualquiera
El soporte para los gestores de almacenamiento APC, SQLite y MEMCACHE ha de estar habilitado en tiempo de compilación. Los gestores default y user son internos. Es posible intercambiar entre gestores de almacenamiento compilados en función a cada consulta en tiempo de ejecución. Sin embargo, se recomienda elegir un gestor de almacenamiento y usarlo para todas las entradas de la caché.
Defensa de cierre interna para evitar la sobrecarga
Para evitar situaciones de sobrecarga, el complemento de caché posee un mecanismo de defensa de cierre interna. Si una entrada de la caché expira, muchos cliente que usen las entradas de la caché intentarán refrescar dicha entrada. Durante el refresco, muchos clientes podrían acceder al servidor de bases de datos de forma concurrente. En el peor caso, el servidor de bases de datos se sobrecargará y le llevará cada vez más tiempo refrescar la entradas de la caché, las cuales, de una en una, permiten que más y más clientes intenten refrescar dichas entradas. Para evitar que ocurra esto, el complemento posee un mecanismo de defensa de cierre interna. Si se habilita dicha defensa y el complemento detecta que una entrada de la caché ha expirado, ampliará el tiempo de vida de dicha entrada antes de refrescar las entradas de la caché. De esta manera, otros accesos concurrentes a la entrada de la caché expirada aún los sirve la caché por un cierto tiempo. Los demás accesos concurrentes no desencadenan un refresco concurrente. Lo ideal sería que las entradas de la caché fueran refrescadas por el cliente, el cual ampliaría el periodo de vida de las entradas de la caché antes de que otros clientes intenten refrescar la caché y ocasionar potencialmente una situación de sobrecarga.


 

1.6 Como utiliza PHP

¿Qué es PHP?

PHP es un lenguaje de script múltiple, que a diferencia de por ejemplo Javascript, es ejecutado en el servidor y por tanto no permanece bajo el control del navegador. Frecuentemente los campos de entrada están en otros foros, formularios, sistema de redacción, libro de visitas y máquinas de búsqueda. Para estos y otros campos de entrada existen cientos de Scripts PHP libres disponibles en internet. Con PHP tienes la posibilidad de consultar contenidos de la Base de Datos-MySQL por ejemplo, y así añadirlos a tu página web.

Perl es otro lenguaje de script. Se diferencia del PHP en una primera fase, ya que con PHP tu código Script puede intercalarse en tus páginas HTML. De esta forma podrás separar diseño y programación. El mismo código Script, será ejecutado en el servidor de manera que no se transmita al navegador. Por lo tanto, la versión del navegador no es relevante.
El código PHP se integra en una página HTML, entre los símbolos de resultado . Los comandos PHP irán dentro de las áreas PHP (por regla general con un punto y coma).

También podrás colocar tus páginas web dentro de un Editor HTML gráfico e introducir los códigos en modo HTML dentro de un editor de texto. Los datos se guardarán con la extensión ".html", ".php" o ".php5", así el servidor reconocerá de inmediato que se trata de un Script-PHP. Carga entonces la página de Internet con el Script-PHP mediante un programa FTP a nuestro servidor.

No hay comentarios:

Publicar un comentario