pHp

Symfony 2 – Cosa c’è di nuovo? (parte 2)

Wednesday 20 April 2011, 14:56
marco.brendolini@makeallweb.it

I Bundle

Come accennato nell’articolo precedente, una delle grosse novità di Symfony 2 è l’introduzione dei Bundle.

I Bundle possono essere considerati come i plugin nella versione 1 del framework e per chi ha maggiore dimestichezza con il mondo JAVA, i bundle possono essere considerati come i package.
La struttura a bundle del framework symfony 2 è resa possibile dall’implementazione del concetto di NAMESPACE introdotta dalla versione 5.3 di PHP, versione che symfony 2 richiede obbligatoriamente.

Di seguito riporto un esempio di struttura di un bundle:

Con Symfony 2 i bundle vengono attivati dal kernel dell’applicazione attraverso il modulo descritto di seguito:

Attraverso questo modulo è possibile controllare in maniera capillare quali bundle vengono utilizzati dall’applicazione ed è possibile agire sullo stato anche dei bundle del core del framework.

Inoltre affinchè il bundle sia visibile nell’intera applicazione è nesessario registrarlo all’interno del nuovo modulo di autoloading, modulo di cui parleremo in maniera approfondita nella prossima parte dell’articolo.

Per una trattazione approfondita di come implementare un nuovo bundle all’interno di un progetto, fare riferimento alla documentazione ufficiale di symfony2.

Ogni bundle incorpora tutte le risorse necessarie a renderlo un modulo completamente autonomo: risorse web come i template grafici, i CSS e i metodi Javascript,  le risorse PHP quali i controller con le varie action che operano sui relativi template ed le varie risorse di configurazione.

All’interno del bundle troviamo anche tutta la sezione per l’implementazione dei test che sfrutta la tecnologia PHPUnit.

Grazie a questa struttura è possibile trasportare un bundle da un progetto all’altro semplicemente registrandolo nell’applicazione corrente. Dopo tale operazione sarà possibile utilizzarlo immediatamente all’interno del progetto.

Symfony 2 – Cosa c’è di nuovo? (Parte 1)

Wednesday 23 March 2011, 13:14
marco.brendolini@makeallweb.it

Con questo articolo vorrei cominciare una serie di considerazioni sull’evoluzione di uno dei più famosi framework PHP attualmente utilizzato: SYMFONY.

Per chi non lo conoscesse, Symfony è un framework PHP, estremamente utile alla realizzazione di web application PHP che necessitano di una struttura di progetto ben definita e di una serie di strumenti di sviluppo che altrimenti il linguaggio in se non metterebbe a disposizione.

Per questo motivo Symfony aggrega una serie di concetti che di fatto facilitano e velocizzano lo sviluppo di applicazioni rendendole nello stesso tempo robuste e facilmente manutenibili.

Concetti quali:

  • MVC
  • ORM
  • AJAX
  • Components
  • Bundles

Dalla 1 alla 2 – STRUTTURA FOLDER

Tutti coloro che, ad oggi, sono abituati alla versione 1, si troveranno di fronte ad una notevole ristrutturazione del framework che, sfruttando le nuove caratteristiche della versione 5.3 di PHP, ha fatto un notevole passo avanti verso la filosofia JAVA.

Symfony 2 organizza il progetto con una struttura di folder molto diversa rispetto alla versione 1. Un esempio possiamo trovarlo di seguito:

APP Folder

La cartella APP rappresenta l’applicazione che con Symfony 2 diventa unica.
Con Symfony 1 era possibile creare più applicazioni in un progetto, ad esempio “Frontend” e “Backend” e tutto il codice di gestione delle action veniva suddiviso in moduli all’interno della APP folder.

Con Symfony 1 il codice PHP non è più presente in questa cartella, ma la APP folder contiene tutti gli oggetti di base dell’applicazione come ad esempio i file di configurazione, i log, la cache e i template.

SRC Folder

La SRC Folder contiene tutto il codice di gestione dell’applicazione. Il codice con Symfony 2 vive all’interno dei Bundle paragonabili ai Plugin nella versione 1 di Symfony.
I Bundle possono essere paragonati ai Package in Java e rappresentano delle sotto folder all’interno della SRC Folder.
Symfony 2 è in grado di implementare una struttura a Bundle grazie all’introduzione del concetto di “name spacing” implementato nella versione 5.3 di PHP.

Nei prossimi articoli approfondiremo l’argomento Bundle.

VENDOR Folder

La VENDOR Folder accoglie tutte le librerie che rappresentano il CORE del framework e tutte le librerie dei vari PLUGIN utilizzati da Symfony 2 come ad esempio Doctrine, Swiftmailer e Twig

WEB Folder

La WEB Folder non cambia molto rispetto alla versione 1. La differenza più significativa sta nel fatto tutte le risorse web quali (Javascript, immagini e CSS) vengono organizzate in bundle come nel caso del codice.

Introduzione allo Zend Framework

Tuesday 6 May 2008, 9:18

Il php è un linguaggio estremamente diffuso ed alla portata di tutti grazie ad una bassa curva di apprendimento iniziale e ad una miriade di esempi e script reperibili in rete.
Purtroppo però spesso questi ultimi, per quanto perfettamente funzionanti, non sono dei modelli di buona programmazione e non appena si cerca di estenderli o integrarli nel proprio progetto vengono a galla i problemi.
Costruire la propria libreria è una soluzione, ma ovviamente non la più veloce e neanche la più semplice, specialmente per il neofita che si affida agli esempi per imparare a programmare.
Un’altra è adottare lo Zend Framework.

(more…)

Delphi for pHp v2.0

Friday 18 April 2008, 15:29
ivan.revelli@synaptica.info

Rilascio ufficiale di Delphi for pHp

Da CodeGear è stata rilasciata la nuova versione di Delphi4php … interessanti le features sulla carta, cosa che spicca è l’integrazione dello Zend Framework con la VCL per php.
Personalmente non ho ancora provato il prodotto, ma da quello che si evince dalla documentazione ufficiale, non dovrebbe esser male.

il link delle nuove implementazioni : http://www.qadram.com/vcl4php/docwiki/index.php/What_is_new_in_Delphi_for_PHP_2.0 (more…)

Scoprite cosa possiamo fare per il vostro business
I nostri linguaggi