Passa ai contenuti principali

Utilizzare i servizi nei templates twig

Nello sviluppo di un'applicazione web spesso ci si imbatte nel dover progettare un'architettura dinamica
L'implementazione di un tema grafico è tutt'altro che che banale
Twig viene in aiuto con l'estensione dei template, i blocchi, gli include e i render controller
Inoltre c'è la possibilità di scrivere estensioni ad hoc per il proprio progetto
Partiamo dal presupposto che il tema grafico non deve essere fisso, ossia può essere cambiato col tempo
La progettazione del tema grafico richiede di renderlo il più possibile staccato dal controller
Quindi in twig è necessario fare un build di vari frammenti e dati
In linea generale i dati devono essere richiamati da twig e non viceversa
Partendo da questo presupposto, in fase di generazione del template il controller deve inserire tutti i dati, ma proprio tutti
Il controller però in questo caso diventa monolitico
Non è la soluzione migliore
L'altra opzione è inserire in twig i render controller, ma i due oggetti si legano troppo rendendo difficile e lungo una sostituzione della veste grafica
L'ultima opzione è un'idea che mi  venuta strada facendo e di cui non conoscevo l'esistenza, anche perchè la documentazione non è molto chiara
Richiamare in twig i servizi
Il gioco è semplice
twig:
    strict_variables: "%kernel.debug%"
    #engines: ['twig', 'php']
    globals:
       ......

       dati_servizio: @mio_servizio


in twig ora è utilizzabile il servizio in maniera molto semplice:
 {% for dato in dati_servizio.getList() %}
    <option>
        {{ dato.nome }}
    </option>
 {% endfor %}

In questo modo è possibile richiamare i metodi del servizio all'interno di Twig e recuperare i dati

Post popolari in questo blog

install language on osTicket

this simple guide aims you to install and configure your language on osTicket i written this guide based on forum post http://osticket.com/forum/discussion/76252/installing-language-pack

Creare un ambiente di sviluppo PHP SYMFONY MYSQL DOCKER

Preferisco Docker a Vagrant, più leggero. Ognuno naturalmente ha le sue preferenze.
Docker lo trovo più facile e veloce da configurare.
Non conosci Docker, vai sul sito e scoprirai un tool fantastico per "virtualizzare" le macchine, anche se non è il termine corretto.
Docker crea un contenitore all'interno del tu S.O. senza però virtualizzare l'infrastruttura hardware.
A me piace sviluppare con Symfony: W Symfony2!

[update: ho trovato questa serie di post nuovi per lo sviluppo con symfony su docker
https://blog.vandenbrand.org/2016/02/03/developing-symfony-applications-with-docker-series-part-i-getting-started/
]

5 step semplici per velocizzare PrestaShop

se hai plesk installato sul server e hai accesso diretto al tuo server tramite ssh e il tuo server è basato su Ubuntu, ecco le istruzioni per installare memcached da usare con PrestaShop
step 1: installare le librerie ubuntu per compilare memcached installare le libreiria di compiliazione (versione ubuntu)
apt install php7.0-dev git pkg-config build-essential libmemcached-dev step 2: clonare il repo di php-memcached clone del repository php-memcached sul server
git clone https://github.com/php-memcached-dev/php-memcached.git step 3: compilare e installare il modulo php di memcached cambiare branch
cd php-memcached git checkout php7 phpize ./configure --disable-memcached-sasl make make test make install step 4: configurare plesk la libreria memcached.so dovrebbe essere stata installata sotto /usr/lib/php/20151012/. Per un check veloce
ll /usr/lib/php/20151012/ infine all’interno del dominio plesk configurare memcached

poi...

step 5: configurare PrestaShop con Memcached nel BO di Presta…