2. L'applicazione
| 31 mar |
Zend Framework dalla A alla Zend
2008 2
3. Divide et Impera
• E' sempre conveniente separare il livello che incapsula
la business logic da quello di presentazione
• Per questo è importante dividere il codice HTML da
quello PHP.
| 31 mar |
Zend Framework dalla A alla Zend
2008 3
4. Ottenere la separazione
• Ci sono molti modi per dividere la logica dai template.
• Sicuramente la maniera più veloce (ma non la più
conveniente) è quella di includere le pagine HTML
all'interno dei nostri script PHP.
| 31 mar |
Zend Framework dalla A alla Zend
2008 4
5. Esempio di separazione
index.php index.tpl
$content = array(); <html>
$content['title']='Titolo'; [...]
$content['text']='Testo'; <body>
<div id=”title”>
include_once('index.tpl'); <?php echo $content['title'] ?>
</div>
<div id=”text”>
<?php echo $content['text'] ?>
</div>
</body>
</html>
| 31 mar |
Zend Framework dalla A alla Zend
2008 5
6. Design Pattern?
• Non è facile trovare il modo perfetto per scrivere
un'applicazione.
• I design pattern sicuramente ci vengono in aiuto per
identificare i nostri bisogni e costruire applicazioni solide
e manutenibili.
| 31 mar |
Zend Framework dalla A alla Zend
2008 6
7. Il Pattern MVC
• Il design pattern MVC implementa la concezione di
Divide et Impera dividendo l'applicazione addirittura in
tre blocchi distinti:
• Model
• View
• Controller
| 31 mar |
Zend Framework dalla A alla Zend
2008 7
8. Controller
• I controller si occupano di analizzare le richieste
dell'utente per inviarlo alla pagina desiderata.
• Mappano i cambiamenti della User Interface
(normalmente attraverso una vista) verso i modelli.
| 31 mar |
Zend Framework dalla A alla Zend
2008 8
9. Model
• Mantengono lo stato
dell'applicazio
n
e e utilizzano realmente le risorse (database,file e altro)
• Rispondono alle richieste di dati
• Incapsulano la Business Logic
| 31 mar |
Zend Framework dalla A alla Zend
2008 9
10. View
• Visualizzano la User Interface
• Richiedono dati ai Modelli (attraverso i controller)
• Inviano eventi e richieste ai controller
|
| 31 mar
Zend Framework dalla A alla Zend 1
2008
0
11. Flusso della nostra applicazione
BOOTSTRAP index.php
Tutte le richieste vengono inviate a
un file di bootstrap che istanzia un oggetto
Front Controller
Lista dei post front controller per elaborare le richieste.
l'utente richiede la visualizzazione Il Front Controller istanzia il controller che si
dei post occupa della gestione dei post e chiama
l'azione di visualizzazione
class Post Controller: Post
PostController
extends Zend_Controller_Action
Model: Post
Action: List listAction()
I dati elaborati dal modello vengono inviati
alla vista per la creazione dell'html finale
Viene istanziato un oggetto del
modello che si occupa di estrarre i
View: List list.pthml
post dal db. I risultati vengono L'html viene creato e visualizzato
restituiti dal modello al controller all'utente
|
| 31 mar
Zend Framework dalla A alla Zend 1
2008
1
12. Il formato della richiesta
• Nell'esempio precedente l'utente richiedeva la lista dei
post.
• La richiesta per essere interpretata dal front controller di
Zend Framework deve essere composta in questo
modo:
http:// server / controller / action
http:// localhost / post / list
|
| 31 mar
Zend Framework dalla A alla Zend 1
2008
2
13. THANK YOU
“
Zend Framework
Simplicity, Meet Power
massimiliano@zend.com