• No se han encontrado resultados

TEMA 68. ENTORNO DE DESARROLLO PHP

N/A
N/A
Protected

Academic year: 2022

Share "TEMA 68. ENTORNO DE DESARROLLO PHP"

Copied!
6
0
0

Texto completo

(1)

P á g i n a1 | 6

TEMA 68. ENTORNO DE DESARROLLO PHP

Actualizado a 09/09/2020

(2)

P á g i n a2 | 6

1. ENTORNO DE DESARROLLO PHP

El lenguaje PHP está muy extendido en aplicaciones web, y ha ido evolucionando para poder ser empleado en otros entornos, aunque su uso es residual. En este documento se describen las características del mismo, y los entornos en los que se despliegan aplicaciones basadas en PHP.

IDEs de desarrollo más habituales: Eclipse, Visual Studio Code, Netbeans, Jetbrains, Zend Studio, PHPStorm

1.1 LENGUAJE PHP

Características principales

• La última versión es la 7.4

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

o Genera código HTML, CSS y Javacript que es interpretado en el navegador

• 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. Con el tiempo, se ha ido ampliando el lenguaje para abarcar más características, intentando mantener un equilibrio con su facilidad de uso.

• 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.

• 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 PostgreSQL, Oracle, SQL Server, MySQL y MariaDB.

• 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 es posible definir diferentes tipos escalares, tanto para los parámetros, como para el valor de retorno de las funciones.

• Tiene manejo de excepciones

• Si bien PHP no obliga a quien lo usa a seguir una determinada metodología a la hora de programar, 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.

• Existen múltiples librerías desarrolladas en PHP para potenciar las funcionalidades del lenguaje.

Pueden añadirse a los proyectos PHP mediante la herramienta Composer, que emplea el repositorio Packagist (https://packagist.org)

Inconvenientes

• Como es un lenguaje que se interpreta en ejecución, para ciertos usos puede resultar un inconveniente que el código fuente no pueda ser ocultado. La ofuscación es una técnica que puede dificultar la lectura del código pero no necesariamente impide que el código sea examinado.

• Debido a que es un lenguaje interpretado, un script en PHP suele funcionar considerablemente más lento que su equivalente en un lenguaje de bajo nivel, sin embargo este inconveniente se puede minimizar con técnicas de caché tanto en archivos como en memoria.

(3)

P á g i n a3 | 6 Existen tres modalidades de uso de los scripts de PHP.

Scripts del lado del servidor. Este es el campo más tradicional y el foco principal. Son necesarias tres cosas para que esto funcione. El analizador de PHP (módulo CGI o servidor), un servidor web y un navegador web. Es necesario ejecutar el servidor con una instalación de PHP conectada. Se puede acceder al resultado del programa de PHP con un navegador, viendo la página de PHP a través del servidor. Todo esto se puede ejecutar en su máquina si está experimentado con la programación de PHP.

Scripts desde la línea de comandos. Se puede crear un script de PHP y ejecutarlo sin necesidad de un servidor o navegador. Solamente es necesario el analizador de PHP para utilizarlo de esta manera. Este tipo de uso es ideal para scripts que se ejecuten con regularidad empleando cron (en *nix o Linux) o el Planificador de tareas (en Windows). Estos scripts también pueden usarse para tareas simples de procesamiento de texto. Véase la sección Uso de PHP en la línea de comandos para más información.

Escribir aplicaciones de escritorio en Linux. Probablemente PHP no sea el lenguaje más apropiado para crear aplicaciones de escritorio con una interfaz gráfica de usuario, pero si se conoce bien PHP, y se quisiera utilizar algunas características avanzadas de PHP en aplicaciones del lado del cliente, se puede utilizar PHP-GTK para escribir dichos programas. También es posible de esta manera escribir aplicaciones independientes de una plataforma. PHP-GTK es una extensión de PHP, no disponible en la distribución principal. Si está interesado en PHP- GTK, puede visitar su propio » sitio web.

PHP puede emplearse en todos los sistemas operativos principales, incluyendo Linux, muchas variantes de Unix (incluyendo HP-UX, Solaris y OpenBSD), Microsoft Windows, Mac OS X, RISC OS y probablemente otros más. PHP admite la mayoría de servidores web de hoy en día, incluyendo Apache, IIS, y muchos otros. Esto incluye cualquier servidor web que pueda utilizar el binario de PHP FastCGI, como lighttpd y nginx. PHP funciona tanto como módulo como procesador de CGI.

De modo que con PHP, se tiene la libertad de elegir el sistema operativo y el servidor web. Además, se tiene la posibilidad de utilizar programación por procedimientos o programación orientada a objetos (POO), o una mezcla de ambas.

Con PHP no se está limitado a generar HTML. Entre las capacidades de PHP se incluyen la creación de imágenes, ficheros PDF e incluso películas Flash (usando libswf y Ming) generadas sobre la marcha.

También se puede generar fácilmente cualquier tipo de texto, como XHTML y cualquier otro tipo de fichero XML. PHP puede autogenerar estos ficheros y guardarlos en el sistema de ficheros en vez de imprimirlos en pantalla, creando una caché en el lado del servidor para contenido dinámico.

Una de las características más potentes y destacables de PHP es su soporte para un amplio abanico de bases de datos. Escribir una página web con acceso a una base de datos es increíblemente simple utilizando una de las extensiones específicas de bases de datos (p.ej., para mysql), o utilizar una capa de abstracción como PDO, o conectarse a cualquier base de datos que admita el estándar de Conexión Abierta a Bases de Datos por medio de la extensión ODBC. Otras bases de datos podrían utilizar cURL o sockets, como lo hace CouchDB.

PHP también cuenta con soporte para comunicarse con otros servicios usando protocolos tales como LDAP, IMAP, SNMP, NNTP, SMTP, POP3, HTTP, COM (en Windows) y muchos otros. También se pueden crear sockets de red puros e interactuar usando cualquier otro protocolo. PHP tiene soporte para el intercambio de datos complejos de WDDX entre virtualmente todos los lenguajes de programación web.

Y hablando de interconexión, PHP tiene soporte para la instalación de objetos de Java y emplearlos de forma transparente como objetos de PHP.

(4)

P á g i n a4 | 6 Ejemplo básico

<!DOCTYPE html>

<html>

<body>

<?php

echo "Hola Mundo!";

?>

</body>

</html>

Ejemplo de conexión a base de datos

<!DOCTYPE html>

<html>

<head>

<style>

table, th, td {

border: 1px solid black;

}

</style>

</head>

<body>

<?php

$servername = "localhost";

$username = "username";

$password = "password";

$dbname = "myDB";

// Create connection

$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection

if ($conn->connect_error) {

die("Connection failed: " . $conn->connect_error);

}

$sql = "SELECT id, firstname, lastname FROM MyGuests";

$result = $conn->query($sql);

if ($result->num_rows > 0) {

echo "<table><tr><th>ID</th><th>Name</th></tr>";

// output data of each row

while($row = $result->fetch_assoc()) {

echo "<tr><td>" . $row["id"]. "</td><td>" . $row["firstname"]. " " . $row["lastname"]. "</td></tr>";

}

echo "</table>";

} else {

echo "0 results";

}

$conn->close();

?>

(5)

P á g i n a5 | 6

</body>

</html>

1.2 ENTORNOS DE DESARROLLO PHP (FRAMEWORKS)

Con la evolución de las distintas versiones de PHP, se ha buscado ampliar el alcance más allá de las aplicaciones web simples, y se han incorporado al lenguaje capacidades equivalentes a lenguajes tradicionalmente más potentes como Java. En paralelo a este crecimiento, se han desarrollado conjuntos de librerías, y entornos completos de desarrollo, denominados frameworks. Estos entornos emulan algunas características de los contenedores de aplicaciones de Java, y facilitan la creación de portales de aplicaciones, gestores de contenidos, etc. Esta es una lista de los principales entornos disponibles:

Symfony 5.1. Se trata de un completo y potente entorno de desarrollo web basado en MVC, con una gran comunidad de desarrolladores y proyectos que lo soporta. Se basa en diversas herramientas que pueden utilizarse en conjunción o por separado, como Doctrine (ORM de acceso a datos), y Twig (gestor de plantillas web).

Laravel 7.23: Es el que mayor proyección tiene en los últimos años, superando a Symfony en lo que se refiere a proyectos nuevos. La pieza de software para ORM se denomina Eloquent, y la gestión de las plantillas se realiza mediante Blade.

Zend Studio 13.6. Es un framework comercial que junto con su entorno de desarrollo ayuda al desarrollo rápido de aplicaciones. Dispone de su propio servidor web.

• Otros entornos: CodeIgniter, CakePHP, Yii, FuelPHP

1.4 LAMP STACK

PHP está muy inculado al entorno Open Source y es habitual encontrarlo junto con otros productos Open Source en lo que se denomina LAMP Stack.

MySQL, desde su compra por Oracle, se está reemplazando por MariaDB que es un fork del proyecto.

(6)

P á g i n a6 | 6

1.5 PRODUCTOS COMERCIALES BASADOS EN PHP

PHP, al ser Open Source, se ha utilizado de manera extensiva para desarrollar productos comerciales de gran éxito que a su vez tienen sus propios Frameworks de desarrollo y contribuyen a la expansión del lenguaje.

WordPress 5.5. Gestor de contenido muy difundido que ha

Drupal 9: Gestor de contenidos (CMS) muy popular, que desde la versión 8, se ha reescrito para utilizar Symfony y sus componentes como base.

Prestashop 1.7. Tienda on-line muy utilizada.

Odoo 13 y Adempiere. ERPs para gestión integral de los procesos de una empresa. Se orientan a PYMES.

Referencias

Documento similar

“La ciencia es la estética de la inteligencia...” Página 20 Por las características anteriormente planteadas puede apreciarse que Java es un lenguaje más robusto que

Como lenguaje de programación para el lado del servidor se escogió PHP, al garantizar con sus características, obtener un producto que se pueda montar en un

Controlador de Versiones (CV): En el proceso de Integración Continua es preciso tener un control de las diferentes versiones del código para de esta forma poder recuperar

Unos de los objetivos principales en este trabajo es realizar el diseño de la arquitectura del sistema ERP cubano completamente en software libre, ya que esto facilita más

Como parte de la misma se desarrolló una arquitectura como línea de referencia del desarrollo de software, se trabajó con un framework, que responde a los requerimientos

Por lo que se escoge PHP 5 como lenguaje de programación unido al framework Symfony, como entorno compilado para realizar aplicaciones Web y como gestor de bases de

[r]

Luego de un estudio detallado se decidió utilizar como lenguaje de programación PHP, JavaScript para la implementación del lado del cliente además de AJAX, como gestor de