Introducción a los marcos PHP

Antes de tener una visión profunda de PHP Frameworks, hablemos sobre por qué necesitamos marcos y cómo hacen que la vida de un desarrollador sea fácil.

Cada vez que buscamos desarrollar un sitio web, muchas cosas en la arquitectura deben colocarse en línea antes de proceder con la línea real, como decidir cómo una llamada basada en web atravesará el camino del lado del cliente al lado del servidor, lo que sin pérdida de generalidad incorpora verificar el tipo de solicitud (Get, Post o Put), registrar el seguimiento de auditoría, gestión de interceptores, etc.

Si está buscando adoptar un enfoque de vainilla sin incorporar ningún marco de trabajo, entonces probablemente desde el manejo de llamadas hasta la seguridad (como la secuencia de comandos entre sitios), debe administrar todas las instancias, por lo tanto, es probable que contrate a varios desarrolladores para lo mismo y que desafortunadamente aumentará costo del desarrollo de la aplicación.

Ahora analicemos qué tipo de marcos tenemos para el desarrollo de PHP y elija el que mejor se adapte a nuestra aplicación a desarrollar (teniendo en cuenta el dominio comercial para el que se realiza el desarrollo y cuán estrictas son las reglas comerciales).

Lista de marcos PHP

Aquí hay una lista de los mejores marcos PHP, basados ​​en popularidad y capacidad para facilitar el desarrollo de aplicaciones.

Laravel

Es un marco de código abierto, que sigue la arquitectura basada en el modelo-vista-controlador. Las diversas características que ofrece son:

  1. Composer está disponible desde que llegó Laravel 4 y actúa como un administrador de dependencias para agregar framework-agnostic.
  2. ORM elocuente, es decir, una implementación de patrón de registro activo.
  3. Query Builder proporciona un conjunto de clases.
  4. Laravel inspira código extremadamente limpio y legible, lo que facilita la vida de los desarrolladores.
  5. Laravel ofrece una sólida seguridad de aplicaciones web, ya que incorpora hashing de contraseñas, cifrado, verificación de correo electrónico, autenticación API.
  6. Se garantiza un enrutamiento seguro y protegido, todas las rutas de Laravel se definen en el directorio de rutas y el marco descarga automáticamente estos archivos.
  7. El token CSRF se agrega a las URL para evitar la falsificación entre sitios.
  8. En la interfaz, el marco ofrece características como la plantilla Blade (motor de plantillas), localización, Javascript y CSS Scaffolding.
  9. Admite Redis (almacén de valores clave), paginación, migraciones (compartir el esquema de la base de datos), inicialización de la base de datos,
  • Requisitos del servidor antes de trabajar con Laravel.

Es mejor usar la máquina virtual Laravel Homestead, por lo que es muy recomendable usar esto como nuestro entorno de desarrollo local de Laravel.

Si no está utilizando Homestead, se requiere lo siguiente:

  • PHP> = 7.1.3
  • Extensión PHP OpenSSL
  • PDO PHP Extension
  • Extensión PHP Mbstring
  • Extensión PHP Tokenizer
  • Extensión XML PHP
  • Extensión PHP Ctype
  • Extensión PHP JSON
  • Extensión PHP BCMath

Instalando Laravel

Laravel utiliza el compositor para gestionar sus dependencias, por lo que el requisito principal es que el compositor esté preinstalado.

Luego descargue el instalador de Laravel usando el compositor como se indica a continuación.

Composer global requiere Laravel / instalador.

  • Crear un proyecto a través del compositor

Composer create-project - prefer-dist Laravel / Laravel blog

  • Servidor de desarrollo local

servicio artesanal php

CodeIgniter

CodeIgniter es un marco de desarrollo de código abierto, las siguientes son las características que proporciona:

  1. No requiere una implementación rigurosa de modelo-vista-controlador, el controlador es obligatorio, el modelo y la vista son opcionales.
  2. Existen funciones auxiliares, como URL Helpers que ayudan a la creación de enlaces, Form Helpers están ahí, Text Helpers están ahí para formatear texto y Cookie helpers están ahí para configurar y leer cookies.
  3. Puede crear nuevas bibliotecas, reemplazar y eliminar bibliotecas nativas.
  4. La función de ganchos proporciona un medio para aprovechar y modificar el funcionamiento interno del marco sin hackear los archivos principales.
  5. La función de carga automática está allí, lo que permite que las bibliotecas, ayudantes y modelos se inicialicen automáticamente cada vez que se ejecuta el sistema.
  6. CodeIgniter proporciona la función de almacenamiento en caché de páginas, mejorando así el rendimiento.
  7. CodeIgniter tiene una clase de registro de errores que permite que los mensajes de error y depuración se guarden como archivos de texto.
  8. El enrutamiento URI está allí, la cadena de URL está asignada de forma exclusiva al controlador.
  9. El hash de contraseña está disponible para la versión PHP> 5.5
  10. En la parte de la base de datos, varias características proporcionadas son QueryBuilder, QueryCaching, Transacciones, etc.
  11. Las variables de entorno se pueden configurar para decidir desde dónde se debe ejecutar la aplicación, es decir, con el entorno de desarrollo o la producción.
  • Cómo instalar CodeIgniter -
  1. Descargue CodeIgniter desde Haga clic aquí
  2. Descomprima el paquete.
  3. Suba las carpetas y archivos de CodeIgniter a su servidor. Normalmente el archivo index.php estará en su raíz.
  4. Abra el archivo application / config / config.php con un editor de texto y configure su URL base. Si tiene la intención de usar cifrado o sesiones, configure su clave de cifrado.
  5. Si tiene la intención de utilizar una base de datos, abra el archivo application / config / database.php con un editor de texto y establezca la configuración de su base de datos.

Symfony

Symfony es un software de código abierto, los componentes de Symfony son un conjunto de bibliotecas PHP desacopladas y reutilizables. Su objetivo es el desarrollo de aplicaciones empresariales robustas y tiene como objetivo dar a los desarrolladores un control total sobre la configuración desde el directorio hasta las bibliotecas extranjeras y puede personalizarse.

Symfony se incorpora con las siguientes características:

  1. Se proporciona enrutamiento localizado (i18n), por lo tanto, las rutas se pueden localizar para proporcionar rutas únicas por ubicación. Con Symfony, estas rutas se pueden escribir sin duplicación, también se admiten comodines.
  2. Las plantillas Twig están ahí, son simples y no procesan las etiquetas PHP, twig puede hacer escapes automáticos de HTML, escapes manuales de salida contextual e inclusión de algunos filtros.
  3. El almacenamiento en caché de plantillas Twig acelera el proceso ya que las plantillas se compilan en una clase PHP nativa y se almacenan en caché.
  4. El componente de activo está ahí para la generación de URL y el control de versiones de CSS, JS e imágenes.
  5. El componente BrowserKit está ahí para simular el comportamiento del navegador web, lo que permite realizar solicitudes, hacer clic en enlaces y enviar formularios mediante programación.
  6. Existe un componente de inyección de dependencia, que implementa un contenedor de servicios compatible con PSR-11 que permite la estandarización y centralización de objetos en la aplicación.
  7. El componente DOMCrawler está ahí para facilitar la navegación DOM para documentos HTML y XML.
  8. El componente Dotenv está ahí para crear variables de entorno almacenadas en variables .env.
  9. El despachador de eventos está allí para que los componentes puedan comunicarse a través del despacho de eventos y escucharlos.
  10. El componente LDAP ya está presente para comunicarse con el servidor LDAP.
  11. El componente ExpressionLanguage proporciona un motor que puede compilar y evaluar expresiones.
  12. El componente Polyfill / APCu proporciona funciones apcu_ * y la clase ACPUIterator a los usuarios de la extensión APC heredada.
  13. El componente serializador está ahí para convertir objetos en formatos como JSON, XML o YAML.
  • Pasos de instalación

Utilice los siguientes pasos para las descargas, el compositor debe estar preinstalado en el sistema:

Compositor requiere sinfonía / activo

Para descargar los componentes individuales como se mencionó anteriormente, visite:

https://symfony.com/components

CakePHP

CakePHP es una plataforma de código abierto que hace que la creación de aplicaciones web sea simple y más rápida, requiere menos código. CakePHP viene con las siguientes características:

  1. Proporciona andamios para construir rápidamente prototipos.
  2. Hay una clase de caché en CakePHP que admite el almacenamiento en caché y proporciona la interfaz estática y la API uniforme para interactuar con diversas implementaciones de almacenamiento en caché.
  3. La clase Hash proporciona utilidades estáticas que hacen que la gestión de la matriz sea adecuada, lo que optimiza el código.
  4. Se proporciona una clase de inflector para manipular la cadena proporcionada y manejar variaciones de palabras como la pluralización y la camelización.
  5. El registro es fácil en CakePHP, la función log () es proporcionada por LogTrait.
  6. La forma más rápida de comenzar a usar REST es agregar algunas líneas para configurar rutas de recursos en config / routes.php
  7. El paquete de validación en CakePHP proporciona características para construir validadores que pueden validar matrices arbitrarias de datos con facilidad.
  8. Se admiten varios complementos para su uso junto con CakePHP y son Chronos (proporciona una colección de extensiones de dependencia cero para el objeto DateTime), DebugKit (tiene una barra de herramientas de depuración y herramientas de depuración mejoradas), ElasticSearch (proporciona una abstracción similar a ORM en arriba de elasticsearch, facilita la prueba e indexación de documentos).
  9. Phinx y CakePHP, phinx permite a los desarrolladores alterar y manipular bases de datos de manera clara. No es necesario escribir SQL a mano, sino que phinx proporciona API potentes para crear migraciones utilizando código PHP.
  10. La consola de horneado se proporciona para ejecutar CakePHP más rápido, la consola de horneado puede crear modelos, vistas, comportamientos, casos de prueba, accesorios y complementos.

Phinx puede ser simplemente instalado por:

PHP compositor. phar requiere robmorgan / phinx

El soporte de middleware está ahí para que podamos envolver nuestra aplicación en capas reutilizables y componibles de manejo de solicitudes o construcción de respuestas.

  • Instalación y requisitos previos:

Describamos ciertos requisitos previos que deben cumplirse antes de comenzar con la instalación:

  1. Servidor HTTP (Apache, Nginx o Microsoft IIS)
  2. PHP 7.3
  3. Extensión PHP mbstring
  4. extensión PHP intl (si usa XAMPP, se incluirá la extensión intl, pero asegúrese de descomentar extension = php_intl.dll en Php.ini y reinicie el servidor XAMPP a través del panel de control, en caso de que esté usando WAMP, la extensión intl se activa por defecto, solo tienes que ir a la carpeta php y copiar todos los archivos a icu * .dll y pegarlos en el directorio apache bin, luego reiniciar los servicios).
  5. extensión PHP simplexml
  6. Extensión PDO PHP
  7. Cualquier base de datos entre la lista dada se instalará en su máquina:
  • MySQL (v5.5.3 o superior)
  • MariaDB (v 5.5 o superior)
  • PostgreSQL
  • SQLite3
  • Servidor Microsoft SQL (> = versión 2008)

FuelPHP

FuelPHP es un marco de código abierto, rápido y compatible con versiones PHP 5.4+, las características incorporadas se enumeran a continuación:

  1. Es un tipo de marco MVVM que no solo se limita a model-view-controller sino que también lleva el enfoque model-view-ViewModel. Los viewModels también se denominan modelos de presentación.
  2. FuelPHP admite un enfoque basado en un enrutador que nos permite escribir el URI directamente.
  3. Admite los tokens CSRF para evitar la falsificación de scripts entre sitios.
  4. El filtro de entrada y el generador de consultas ayudan en la inyección de SQL.
  5. Auth Framework es compatible con fines de autenticación segura.
  6. FuelPHP proporciona una CLI llamada "aceite", diseñada para acelerar el desarrollo, la asistencia de prueba y la depuración. También ayuda a ejecutar migraciones de bases de datos.
  7. Se proporcionan algunas clases base a los controladores y modelos para que los desarrolladores puedan tener un comienzo rápido, tales características son: Controller_Template (agregar funcionalidad simple de plantilla de página a los controladores), Controller_Rest (forma de creación de API RESTful), Controller_Hybrid (combine dos características en un solo controlador), Model_crud (proporciona todos los métodos para operaciones CRUD en una sola tabla).
  8. Lightweight ORM proporciona una forma orientada a objetos de trabajar con datos de la base de datos y realizar CRUD, los gustos de relación tiene, muchos, muchos están allí, guarda en cascada y elimina para objetos relacionados. Los observadores están ahí para actualizar instancias de objetos.
  9. La seguridad incorpora el marco Auth y ha integrado la biblioteca Opauth y proporciona otras características como el Control de acceso basado en roles (RBAC), la función de hash seguro para contraseñas, la integración de OAuth para la autenticación de redes sociales.
  10. Hay analizadores de plantillas para mejorar las vistas desde PHP simple, existen numerosas bibliotecas para ello:
    1. Bigote
    2. Ramita
    3. Haml
    4. Jade
    5. Dawoo
    6. Sabelotodo
    7. Reducción
  • Pasos de instalación -

Siga los pasos dados para lo mismo:

$ curl https://get.fuelphp.com/oil | sh

El proyecto se puede crear usando

$ petróleo crear

$ compositor crear-proyecto combustible / combustible –prefer-dist

Conclusión - PHP Frameworks

En la documentación anterior, citamos múltiples Frameworks PHP utilizados para llevar múltiples funciones para el desarrollo de código. El análisis de los requisitos y los patrones de diseño a seguir se discutirá primero antes de elegir cualquiera de ellos. Los marcos tenían diversidad y proporcionaban varios complementos para hacer que el registro y el seguimiento de métricas estuvieran allí.

El marco denominado como Lumen por Laravel es muy apreciado mientras se busca el desarrollo de microservicios, ya que la arquitectura de microservicios es diferente de las aplicaciones monolíticas, los mecanismos de registro, el manejo de bases de datos, la seguridad de autenticación y la implementación son de suma importancia antes de la codificación.

Otra cosa a tener en cuenta al optar por un marco es el dominio para el que se está diseñando la aplicación, como los servicios bancarios y financieros, la gestión de las cadenas de suministro, las ciencias de la vida, el comercio minorista o las redes sociales.

Porque en base a estos dominios, tenemos que incorporar complementos y diseños para cuidar el rastreo distributivo, los intentos de reintento de servicio, etc.

Por lo tanto, un codificador puede continuar con cualquiera de los marcos citados después de evaluar las características junto con la aplicación.

Artículos recomendados

Esta ha sido una guía para PHP Frameworks. Aquí hemos discutido la lista de marcos PHP con sus características y los pasos de instalación. También puede consultar nuestros otros artículos sugeridos para obtener más información:

  1. ¿Qué es PHP? ¿Cuáles son los usos?
  2. Guía detallada sobre ¿Qué es la matriz PHP?
  3. Ventajas de la programación PHP
  4. Introducción a PHP | Tutoriales completos
  5. MariaDB vs MySQL | Comparación de los principales recursos abiertos de bases de datos
  6. Función de hash en PHP | ¿Como trabajar?