Parliamo del progetto

Blog PartITech

Blog tecnologico

Analisi tecniche, guide pratiche ed esperienza sul campo per progettare, modernizzare e mantenere applicazioni sostenibili.

232 articoli Pagina 12

Sonata Admin: DataMapper e autowiring

Se hai una necessità specifica di trasformare i dati tra il modulo e la registrazione della tua entità e pensi che questo codice di trasformazione debba essere situato in un servizio perché ha più senso, puoi utilizzare il dataMapper utilizzando l'iniezione delle dipendenze fornita da Symfony. Ma come implementarlo? Un piccolo promemoria riguardo al DataMapper. Se siamo d'accordo con la documentazione ufficiale di Symfony riguardo il DataMapper e DataTransformer, un dataMapper ha la responsab...

SF6 / Sonata 5 : Gestire un'interfaccia OneToMany in un CRUD con CollectionType di Sonata

In questo esempio, prenderemo il caso concreto di una semplice interfaccia che include diversi elementi. Abbiamo scelto di utilizzare una tabella "Progetti" nella quale assegneremo dei documenti. Di conseguenza, per un progetto, possiamo assegnare diversi documenti. E per facilitare l'amministrazione, ci assicureremo di poter gestire la nostra interfaccia nidificata direttamente all'interno della vista di modifica del nostro progetto.Dobbiamo creare lo schem...

PHP FFI: usare una libreria Kotlin Multiplatform — parte 4

Con Stéphane Péchard https://www.linkedin.com/in/stephanepechard/, esperto Android e guru di KMP, ci siamo chiesti se fosse fattibile sviluppare un algoritmo in KMP ed eseguirlo direttamente in PHP. Le specifiche erano semplici: lo sviluppatore Android (Stéphane) mi fornisce un file header, un file .so e io mi occupo del resto. Con il file header, il contratto, dovremmo essere in grado di escogitare qualcosa... Così siamo riusciti a effet...

PHP FFI: callback — parte 3

Il CallbackDurante la preparazione di questo articolo, ho notato che molte risorse su internet usano direttamente la libc per i loro esempi. È possibile trovare facilmente esempi abbastanza dimostrativi e semplici. Ma per fare qualcosa di figo e originale, ho pensato "troviamo qualcosa da mostrare con questa libc anch'io". Dopotutto… se si tratta solo di passare una struttura come nella maggior parte degli esempi, non sarà utile. E poi mi sono imbattuto in...

PHP FFI: passaggio dei parametri — parte 2

Chiamare direttamente la libreria PHP?Che ne direste di divertirci a scrivere un frammento di codice che è inutile? Dài!!! Dài!! Dài!!! OK va bene. Propongo di fare qualcosa di inutile utilizzando PHP per chiamare una libreria C che usa il Zend Engine. In realtà, questo paragrafo non è inutile come sembra. Il suo scopo è quello di mostrarvi un comportamento particolare 😊 PHP-FFI ha alcune limitazioni: non puoi passare direttamente ...

PHP FFI: introduzione — parte 1

IntroduzioneDalla versione 7.4 di PHP, abbiamo finalmente accesso alle funzioni di interoperabilità tra diversi linguaggi e PHP: la FFI o Interfaccia di Funzione Esterna.Cosa è la FFI? È semplicemente la capacità di utilizzare una libreria esterna (.dll o .so) direttamente in PHP, senza dover creare un'estensione PHP. Già, solo con uno script PHP! È, tra le altre cose, ciò che ha reso Python così famoso e gli ha permesso di avere così tante funzionalità.La cosa fantastica della FFI è che uno...

Symfony 6 / Sonata 5 : Installazione di SonataClassification.

Abbiamo visto in precedenti articoli come inizializzare un progetto Symfony 6 + Sonata 5 con media e utenti in un'amministrazione sicura. Abbiamo poi esaminato come gestire le localizzazioni degli utenti.Ora vedremo come installare e gestire le classificazioni. Procediamo con l'installazione dell'ultima versione disponibile al momento. php8.1 composer.phar require sonata-project/classification-bundle:5.x-dev Sembra che ci sia un errore di configurazione. Unrecognized option "med...

Symfony 6 / Sonata 5 : Collegare le localizzazioni e il fuso orario alle preferenze dell'utente.

Abbiamo visto in un articolo precedente come installare Symfony 6 + Sonata Admin 5 con gestione degli utenti e dei media.Continueremo questa installazione con la configurazione delle lingue e dei fusi orari.Installeremo intlBundle che permette di gestire la visualizzazione localizzata. php8.1 composer.phar require sonata-project/intl-bundle Approfittiamo di questa occasione per aggiungere un campo fuso orario e locale all'utente.Per fare ciò, estenderemo userBundle e aggiungeremo un cam...

Symfony 6 / Sonata 5 : Inizializzare un progetto Symfony 6 + Sonata admin 5 + UserBundle + MediaBundle

Ecco i comandi per inizializzare un progetto Symfony con un adminépreoccupazionié. Per far funzionare Symfony 6 dovremo installare php8.0 o php8.1 Per 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-zi...

Installare Dropbox headless su un server Linux

Dropbox è un servizio di archiviazione e condivisione di copie di file locali online offertoé per Dropbox Inc. Rimuovere un agente installatoé sul vostro computer o dispositivo mobile, è in grado di sincronizzare una struttura ad albero sul cloud e permette così un backup e una gestione delle versioni dello stesso.L’L'uso classico di Dropbox è di’usare uno strumento sul tuo Desktop. Un uso meno éè evidente da l’util...

Creare un token sulla Binance Smart Chain

Vediamo come crécreare un Token (Smart Contract) sulla Binance Smart Chain (BSC) e il dépiegare per permettere à tutto il mondo del trader.Partiamo dal principio che voi conoscete déjà i principi della criptovaluta, che ne aveteéjà acquistareé, e che sapete come funzionano i portafogli (wallet).I Smart Contract sono programmi che controllanoôpresta direttamente attività digitaliériques. Sono questi programmi che, una vo...

Migrazione e aggiornamento di un server GitLab CE

Ogni 5 anni c’è la mêla mia musica. La versione di Debian LTS arriva à scadenza e bisogna mettere à giorno il server. E quindi, ne approfittiamo per prendere una macchina récento per bénéottenere le migliori prestazioni.Se abbiamo un disco rigido SATA, è meglio ricominciare con dei nuovi dischi comunque’arriva. I loro duriée de vie élimite tangenteées. Procederemo quindiéil à una série di back...