Composition over inheritance: tackle the “Template Method”

In this article we’re gonna talk about composition over inheritance but not approaching this topic from a theoretical point of view (you can find dozens of good articles online by googling the topic), but instead by providing an example of something that in literature is a well-know pattern: Template Method….

Dependency injection – Come iniettare servizi taggati

Tagged services Per indicare che un servizio svolge un particolare ruolo in Symfony è possibile configurarlo aggiungendo uno o più tags alla sua definizione. Per esempio, etichettando un servizio con il tag twig.extension si indica a Symfony che il servizio deve essere trattato come una estensione di twig. Questo meccanismo…

TWIG: include VS embed VS macro

There are various types of code reuse in Twig but, what are the differences between them? In this article we’ll explore the differences between include, embed and macro. First of all, some definitions from the documentation: The include statement includes a template and returns the rendered content of that file…

CSS: position sticky

In questo articolo, tramite un semplice playground, mostreremo il funzionamento della proprietà css position: sticky. Iniziamo gettando le basi del nostro progetto: Fin qui niente di particolare: abbiamo un div contenitore che contiene alcuni blocchi colorati. Il blocco giallo eccede l’altezza della pagina così da dover scrollare per raggiungere la…

Symfony: Autowire dei repository Doctrine (Repositories as Service)

Con la versione 3.3, Symfony ha introdotto l’autowrire e l’autoconfigure dei servizi, risparmiando a noi developer parecchio lavoro “noioso”. Spesso capita di dovere iniettare un repository Doctrine: out of the box non è possibile farlo. Di default infatti i repository non sono dichiarati come servizi e non sono quindi utilizzabili…

Come rendere fault-tolerant SncRedisBundle

Capita di voler utilizzare Redis per memorizzare informazioni non fondamentali o che possono essere rigenerate anche nel caso non fossero accessibili.In questi casi se il server Redis dovesse non essere disponibile per un qualsiasi problema, il nostro servizio sarebbe completamente interrotto pur essendo funzionanti tutti i sistemi necessari ad erogarlo.Questo…

1 2 3 7