Le novità di Symfony 4

Fabien on media.com Come già pianificato nel dettagliato piano di rilasci di Symfony, entro il 2017 uscirà la nuova major release del nostro amato framework.
In una serie di articoli su medium.com, Fabien sta svelando a poco a poco quale novità ci attenderanno, e saranno novità molto interessanti.
Probabilmente la questione più importante e che suscita le maggiori attese sarà quella relativa all’automazione dell’installazione dei bundle. Il sistema di base di Symfony 4 sarà super minimale, ma installando via via le varie dipendenze si otterrà in modo rapido tutto l’ambiente desiderato. Niente più distribuzioni quindi, anche perché (come sottolineato dallo stesso autore) non avevano mai preso piede, per cui alla fine nessuna altra distribuzione ha mai avuto successo, oltre alla classica Standard Edition.

Symfony verso il mezzo miliardo di download

Il sito ufficiale Symfony.com ha lanciato un’iniziativa per festeggiare l’imminente traguardo dei 500 milioni di download di Symfony (contando solo composer e non eventuali scaricamenti diretti dell’archivio).
È stato messo online un contatore in tempo reale su symfony.com/500million. Inoltre è stato lanciato un concorso social, per cui twittando una foto con l’hashtag #500million si può vincere abbonamenti premium o simpatici gadget.
Fonte: http://symfony.com/blog/the-road-to-500-million-symfony-downloads

Symfony 2.1 validazione a cascata

In Symfony2 incorporare i form è davvero facile come mostrato  nella guida ufficiale di Symfony per la creazione e l’associazione di due form.

In questo tip parleremo della validazione in cascata di sottoform.

Supponiamo di avere un ProductForm che incorpora CategoryForm, entrambi con annotazioni che impostano i diversi vincoli di validazione per ciascuna classe. Seguendo la guida scriveremmo in ProductForm:

$builder->add('category', new CategoryForm());

Ci aspettiamo che CategoryForm sia inglobato in ProductForm e ciascun campo automaticamente validato in base ai vincoli di validazione di CategoryForm e ProductForm.

Noteremo con stupore, che dalla versione 2.1 di Symfony CategoryForm non viene validato automaticamente.

Questo è dovuto all’introduzione di un settaggio specifico dei form: cascade_validation

Il parametro, infatti, suggerisce al form builder se validare il form incorporato. Di default questo settaggio è impostato a false, quindi per validare il nostro sottoform con i vincoli di validazione specificati nella classe, c’è bisogno di esplicitare a true l’opzione nella classe CategoryForm, nella funzione setDefaultOptions :

public function setDefaultOptions(OptionsResolverInterface $resolver)
{
    $resolver->setDefaults(array(
        'data_class' => 'namespace\entita\correlata',
        'cascade_validation' => true,
    ));
}

Così facendo, ProductForm provvederà a validare anche tutti i campi di CategoryForm.

Un anno senza ORM?

G9NGBH9YK85S
Se seguite questa discussione sul gruppo di Symfony su Linkedin avrete notato che è emersa una notizia abbastanza interessante.

The Doctrine 1.2 support seems to be extended to June, 1st 2011. But this post was written 11 months ago and I think the end of support was shortened…

Che affiancata al fatto che il supporto ufficiale a Symfony 1.x finirà il 31 dicembre 2012, fa evidenziare come per circa 1 anno e mezzo nessun ORM sarà ufficialmente supportato dal framework.

Che sia arrivato il tempo, per i progetti basati su symfony 1.x, di dare di nuovo un occhio a Propel?

personalizzare i filtri nel backend – 2

Se ricordate un vecchio post sull’applicazione della traduzione ai filtri del backend, sappiate che ora c’è una soluzione migliore:

1
2
3
4
if (sfConfig::get('sf_i18n'))
{
  $this->widgetSchema->getFormFormatter()->setTranslationCatalogue('sf_admin');
}

Tutto qui. Basta mettere queste poche righe di codice nelle classi BaseFormFilterDoctrine.class.php o BaseFormFilterPropel.class.php e il gioco è fatto. I filtri saranno tradotti, anche in altre eventuali lingue supportate dall’applicazione.