Hablemos de su proyecto

Categoría

PHP

41 artículos

Sonata Extra Bundle: cortafuegos de aplicaciones

El SonataExtraBundle proporciona un conjunto de funcionalidades mejoradas para la gestión de las reglas de firewall en el entorno Sonata Admin. Este bundle permite a los administradores crear y gestionar reglas para filtrar las solicitudes según diferentes criterios como palabras prohibidas, direcciones IP y agentes de usuario.

Cómo crear un transporte de correo electrónico personalizado con Symfony Mailer

Hoy, vamos a ver cómo crear un transporte de correo electrónico personalizado con Symfony Mailer. Para el ejemplo, crearemos un transporte llamado “pt”. Prerrequisitos Antes de comenzar, asegúrate de haber instalado y configurado Symfony Mailer y HttpClient en tu proyecto. Puedes añadirlos a tu proyecto utilizando los siguientes comandos: composer require symfony/mailer composer require symfony/http-client Creando la Clase de Transporte Lo primero que debemos hacer es crear...

PHP FFI: crear un enlace para QuickJS — parte 5

Para concluir este mini archivo técnico sobre la interfaz de funciones foráneas de PHP, me propuse simplemente conectarme a una librería. Un tipo de desafío que podría al mismo tiempo ayudarme a progresar en el tema. Así que tuve que idear una idea de proyecto. Algo no demasiado pequeño o simple pero tampoco demasiado grande. Fallé, encontré una idea pero resulta ser mucho más compleja de lo que imaginé. No importa, aun así lo intenté. Así que para nuestro artículo, pensé que intent...

Symfony : forzar a una entidad a usar una conexión de base de datos diferente a la conexión por defecto

No es raro tener múltiples bases de datos para un solo proyecto. Normalmente, cuando se usan dos bases de datos, las entidades pueden organizarse en directorios específicos que se declaran en tu configuración. En este caso, el sistema utilizará la conexión configurada para el directorio de la entidad. Puedes ver un ejemplo de múltiples conexiones aquí Symfony 4 / Sonata: gestionando una interfaz de administración multi-servidor Supongamos que querem...

Usar Composer y bin/console desde PhpStorm con Docker

Está bien, eres como yo. Tu máquina no tiene nada instalado localmente. ¡Ni siquiera composer ni PHP en CLI!Aunque uses PHP y quizás incluso Symfony (o no), necesitas utilizar composer diariamente. Usas PhpStorm todos los días y piensas que es una lástima no aprovechar todas las opciones de tu IDE, especialmente todo lo relacionado con composer y la consola de Symfony. Entonces, ¿cómo configuras PhpStorm para especificar que el composer de tu proyecto se encuentra en la imagen de docker?Aquí ...

Sonata Admin: agregar acciones personalizadas

Siguiendo el artículo escrito por Thomas Bourdin SYMFONY / SONATA: AÑADIENDO UNA FUNCIÓN DE CLONACIÓN A UN CRUD, vamos a mostrar cómo, de manera muy simple, podemos añadir acciones personalizadas a una interfaz. En el Tablero: Pero también vamos a ver cómo personalizar de manera simples y genérica las acciones personalizadas del listado, el encabezado de su CRUD y finalmente cómo añadir acciones para el procesamiento por lotes. Para mi ejemplo, comencé con una tabla muy simple llamada...

Depurar Symfony en Docker con PhpStorm

Configuración de PHP/Docker Si estás desarrollando con Symfony, instalado en un docker compose y aún no utilizas el depurador, entonces este artículo es para ti. Vamos a mostrarte cómo preparar tu entorno para que ya no tengas que hacer dd() o var_dump. Una vez que hayas experimentado las alegrías de depurar, no podrás prescindir de ello, ya que aumentará enormemente tu comodidad. Para este artículo necesitas tener una aplicación Symfony alimentada por apache/php (o nginx y fpm, no importa) ...

Crear y publicar una biblioteca PHP con Composer

¿Qué es Composer? Así como NPM es para JavaScript, Composer es la herramienta dedicada para PHP que te permite gestionar las dependencias de librerías para tus aplicaciones. Si has utilizado un framework como Symfony, definitivamente lo has usado. En realidad, todo desarrollador de PHP lo usa a diario. Si estás en esta página, probablemente te estés preguntando cómo crear una librería que pueda ser fácilmente redistribuida y compartida con la comunidad. Eso es lo que intentaré mostrarte. Para...

PhpStorm: configurar las herramientas de calidad en Docker

Aquí hay una pregunta que recientemente consideré. Normalmente, instalo herramientas de control de calidad (QA) directamente en mi máquina anfitriona o en la imagen de Docker. Si las herramientas están instaladas en mi máquina anfitriona, no hay problema en configurar PhpStorm. Si las herramientas están directamente configuradas en la imagen de Docker, tampoco hay problema en usarlas dentro de la imagen. Sin embargo, ¿cómo se puede combinar el poder de PhpStorm y Docker para vincular los dos?...

Sonata Admin: DataMapper y autowiring

Si tienes una necesidad específica de transformar datos entre el formulario y el registro de tu entidad y piensas que este código de transformación debería ubicarse en un servicio porque tiene más sentido, puedes utilizar el dataMapper utilizando la inyección de dependencias proporcionada por Symfony. ¿Pero cómo implementarlo?Un pequeño recordatorio sobre el DataMapper. Si estamos de acuerdo con la documentación oficial de Symfony respecto a DataMapper y DataTransformer, un dataMapper tiene l...

SF6 / Sonata 5 : Gestionar una interfaz OneToMany en un CRUD con CollectionType de Sonata

En este ejemplo, tomaremos el caso concreto de una interfaz simple que incluye múltiples elementos. Hemos elegido usar una tabla de "Proyectos" en la que asignaremos documentos. Por lo tanto, para un proyecto, podemos asignar varios documentos. Y para facilitar la administración, nos aseguraremos de que podamos gestionar nuestra interfaz anidada directamente dentro de la vista de edición de nuestro proyecto.Necesitamos crear el esquema. En primer lugar, importamos nuestro esquema actual en My...

PHP FFI: usar una biblioteca Kotlin Multiplatform — parte 4

Con Stéphane Péchard https://www.linkedin.com/in/stephanepechard/, experto en Android y gurú de KMP, nos preguntamos si sería factible desarrollar un algoritmo bajo KMP y ejecutarlo directamente en PHP. Las especificaciones eran simples: el desarrollador de Android (Stéphane) me proporciona un archivo de cabecera, un archivo .so y yo me encargo de él. Con el archivo de cabecera, el contrato, deberíamos poder idear algo... Así que logramos hacer nuestra llamada a la función...