Hablemos de su proyecto

Blog de PartITech

Blog tecnológico

Análisis técnicos, guías prácticas y experiencia de campo para diseñar, modernizar y mantener aplicaciones sostenibles.

221 artículos Página 11

Configurar Exim para enviar correos electrónicos con Gmail

Veremos cómo configurar Exim4 para enviar correos electrónicos del sistema con Gmail. Esto garantizará que tus correos enviados con tu CRON sean correctamente encaminados y no terminen en spam.Instalemos Exim4 apt-get install exim4 Configuración dpkg-reconfigure exim4-config Elige: correo enviado por intermediario (smarthost); sin correo local Luego responde las preguntas de la siguiente manera: System mail name: YOUR_HOSTNAME IP-addresses to listen on for incoming ...

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

PHP FFI: callbacks — parte 3

El CallbackDurante la preparación de este artículo, noté que muchos recursos en internet usan directamente el libc para sus ejemplos. Puedes encontrar fácilmente ejemplos bastante demostrativos y sencillos. Pero para hacer algo genial y original, pensé "vamos a encontrar algo para mostrar con este libc también". Después de todo… si solo es pasar una estructura como la mayoría de los ejemplos, no será útil. Y luego encontré una función en un foro donde la g...

PHP FFI: paso de parámetros — parte 2

¿Llamando directamente a la biblioteca de PHP?¿Qué tal si nos divertimos escribiendo un fragmento de código que es inútil? ¡Vamos! ¡Vamos! ¡Vamos!Está bien, de acuerdo. Propongo que hagamos algo inútil utilizando PHP para llamar a una biblioteca de C que usa el Zend Engine.De hecho, este párrafo no es tan inútil como parece. Su propósito es mostrarte un comportamiento particular 😊PHP-FFI tiene algunas limitaciones: no puedes pasar una variable de PHP directamente para recuperar su valor dinám...

PHP FFI: introducción — parte 1

IntroducciónDesde la versión 7.4 de PHP, finalmente tenemos acceso a funciones de interoperabilidad entre diferentes lenguajes y PHP: FFI o Interfaz de Función Externa.¿Qué es FFI? Es simplemente la capacidad de utilizar una biblioteca externa (.dll o .so) directamente en PHP, sin tener que crear una extensión de PHP. ¡Sí, con solo un script de PHP! Es, entre otras cosas, lo que ha hecho que Python sea tan famoso y le haya permitido tener tantas características.Lo grandioso de FFI es que un ...

Symfony 6 / Sonata 5 : Instalación de SonataClassification.

Hemos visto en artículos anteriores cómo inicializar un proyecto Symfony 6 + Sonata 5 con multimedia y usuarios en un admin seguro. Luego, analizamos cómo gestionar las localizaciones de usuarios.Ahora veremos cómo instalar y gestionar clasificaciones. Procedemos con la instalación de la última versión hasta la fecha. php8.1 composer.phar require sonata-project/classification-bundle:5.x-dev Al parecer, tenemos un error de configuración. Unrecognized option "media" under "sonata_clas...

Symfony 6 / Sonata 5: Vincular los locales y la zona horaria a las preferencias del usuario.

En un artículo anterior vimos cómo instalar Symfony 6 + Sonata Admin 5 con gestión de usuarios y medios. Continuaremos con esta instalación con la configuración de idiomas y zonas horarias. Instalaremos intlBundle que permite gestionar la visualización localizada. php8.1 composer.phar require sonata-project/intl-bundle Aprovechamos esta oportunidad para agregar un campo de zona horaria y localidad al usuario.Para hacer esto, extenderemos userBundle y agregaremos un campo en el admin. Ex...

Symfony 6 / Sonata 5: Inicializar un proyecto Symfony 6 + Sonata admin 5 + UserBundle + MediaBundle

Aquí están los comandos para inicializar un proyecto Symfony con un administrador seguro. Para ejecutar Symfony 6 necesitaremos instalar php8.0 o php8.1 Para php8.0 sudo apt-get install php8.0-cli libapache2-mod-php8.0 php8.0-common php8.0-opcache php8.0-igbinary php8.0-imagick php8.0-msgpack php8.0-readline php8.0-memcached php8.0-xml php8.0-mbstring php8.0-gd php8.0-mysql php8.0-curl php8.0-intl php8.0-memcache php8.0-memcached memcached libapache2-mod-php8.0 php8.0-zip php8.0-mysql ...

Instalar Dropbox sin interfaz gráfica en un servidor Linux

Dropbox est un service de stockage et de partage de copies de fichiers locaux en ligne proposé par Dropbox Inc. Via un agent installé sur votre ordinateur ou mobile, il est capable de synchroniser une arborescence sur le cloud et permet ainsi une sauvegarde et un versionning de celui-ci.L’usage classique de Dropbox est d’utiliser un outil sur votre Desktop. Un usage moins évid...

Crear un token en la Binance Smart Chain

Vamos a ver cómo crécrear un Token (Smart Contract) en la Binance Smart Chain (BSC) y el déplegar para permitiràtodo el mundo del comerciante.Partimos del principio de que usted conoce déjàlos principios de la criptomoneda, que usted tiene de ellaéjàcompraré, y que sabes cómo funcionan las carteras (wallets).Los contratos inteligentes son programas que contrôprestan directamente activos digitaleséricos. Son estos programas q...