Your SlideShare is downloading. ×
0
Drupal come framework 
          di sviluppo
    Dario Ghilardi                        Marco Vito Moscaritolo
       dario...
Drupal come framework di sviluppo
            ....coding with Drupal




               Il processo di sviluppo
        ● ...
Drupal come framework di sviluppo
           ....coding with Drupal

                                             Gli hook...
Drupal come framework di sviluppo
          ....coding with Drupal

                                          Gli hook


G...
Drupal come framework di sviluppo
              ....coding with Drupal

                                                  ...
Drupal come framework di sviluppo
           ....coding with Drupal

                                           I Form e l...
Drupal come framework di sviluppo
         ....coding with Drupal

                                         I Form e le FA...
Drupal come framework di sviluppo
           ....coding with Drupal

                                                 I Fo...
Drupal come framework di sviluppo
              ....coding with Drupal

                                                  ...
Drupal come framework di sviluppo
            ....coding with Drupal

                                              Il dat...
Drupal come framework di sviluppo
            ....coding with Drupal

                                                Il d...
Drupal come framework di sviluppo
           ....coding with Drupal

                                                   Il...
Drupal come framework di sviluppo
          ....coding with Drupal

                                                 Il da...
Drupal come framework di sviluppo
            ....coding with Drupal

                                               Il da...
Drupal come framework di sviluppo
            ....coding with Drupal

                                                 tes...
Drupal come framework di sviluppo
           ....coding with Drupal

                                             Conclusi...
Drupal come framework di sviluppo
          ....coding with Drupal




                   Domande?
            Per altre i...
Upcoming SlideShare
Loading in...5
×

Drupal come framework di sviluppo

4,324

Published on

Drupal può essere considerato un CMS che permette una rapida creazione di portali con funzionalità abbastanza standard, ma può anche essere considerato uno strumento usato per la creazione ditrumento usato per la creazione di siti usando le potenzialità di framework che lo strumento presenta.

In questo intervento verranno presentate le API del sistema che permettono una ampia espandibilità e velocità di scrittura di codice. Inoltre verrà descritta l’anatomia di un modulo presentandone la struttura e come questo interagisca con il sistema di base.

L’intervento chiuderà con una carrellata di vantaggi e svantaggi dell’uso di Drupal mettendone in evidenza la differenza dai classici framework

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,324
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
39
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "Drupal come framework di sviluppo"

  1. 1. Drupal come framework  di sviluppo Dario Ghilardi Marco Vito Moscaritolo darioghilardi@gmail.com marco@mavimo.org http://www.darioghilardi.com http://mavimo.org    
  2. 2. Drupal come framework di sviluppo ....coding with Drupal Il processo di sviluppo ● Gli hook ● Le Form e le FAPI 2 ● L'interazione con il DB ● Il processo di testing    
  3. 3. Drupal come framework di sviluppo ....coding with Drupal Gli hook Gli hook sono delle funzioni di callback scatenate in  automatico dal sistema all'accadere di certi eventi. Il nome dell'hook viene usato per determinare quale  evento deve intercettare. Concettualmente possiamo vedere i moduli come  classi che ereditano da una classe virtuale ed  implementano alcuni dei metodi che questa espone,  questi metodi sono gli hook.    
  4. 4. Drupal come framework di sviluppo ....coding with Drupal Gli hook Gli hook sono composti dal nome del modulo seguito  dal nome dell'hook, quindi: miomodulo_user(...) miomodulo_nodeapi(...) miomodulo_load(...) miomodulo_taxonomy(...) miomodulo_schema(...) miomodulo_form_alter(...)    
  5. 5. Drupal come framework di sviluppo ....coding with Drupal Gli hook /** * Implementation of hook_user(). */ function galleryfapi_user($op, &$edit, &$account, $category = NULL) { switch ($op) { case 'login': # code... drupal_set_message(t(quot;Benvenutoquot;), 'status'); break; case 'logout': # code... drupal_set_message(t(quot;Arrivederciquot;), 'status'); break; } }    
  6. 6. Drupal come framework di sviluppo ....coding with Drupal I Form e le FAPI2 Il form viene strutturato come array e non richiede la  definizione del codice di markup. Viene gestito dal sistema che ne controlla l'integrità  dei dati e ne gestisce il flusso. Tramite hook_form_alter (o altri) è possibile andare a  modificare i form generati da altre parti del sistema.    
  7. 7. Drupal come framework di sviluppo ....coding with Drupal I Form e le FAPI2 Le Form API 2 sono gli elementi strutturali che  compongono l'array del form; ne esistono alcune di  default, quali: ● select ● textfield ● checkbox ● ... ed è possibile crearne ad hoc in base alle proprio  esigenze implmentative.    
  8. 8. Drupal come framework di sviluppo ....coding with Drupal I Form e le FAPI2 /** * Implementation of hook_form_alter(). */ function miomodulo_form_alter(&$form, $form_state, $form_id) { // Add node-form info here $form['name'] = array( '#type' => 'select', '#title' => t('Title'), '#description' => t('Description'), '#required' => TRUE, '#options' => array( 'value1' => t('Description 1'), 'value2' => t('Description 2'), 'value3' => t('Description 3'), ), ); }    
  9. 9. Drupal come framework di sviluppo ....coding with Drupal I Form e le FAPI2 Esempio di validazione di un campo testo di un  form generato precedentemente /** * Implementation of hook_validate(). */ function miomodulo_validate(&$form, $form_elements) { if($form_elements['age'] < 18) { form_set_error('age', t('Devi essere maggiorenne.')); } }    
  10. 10. Drupal come framework di sviluppo ....coding with Drupal Il database Drupal si interfaccia con diversi database, anche se il  principale risulta essere MySQL Nella versione precedente (la 5) tutte le operazioni  venivano svolte con chiamate dirette al DB, mentre  con la versione attuale esiste un livello di astrazione  intermedio su cui agire (il DB Layer). La versione 7 amplierà le funzionalità del DBL  gestendo configurazioni master­slave     
  11. 11. Drupal come framework di sviluppo ....coding with Drupal Il database Il DBL si interfaccia al database ed in base  all'hook_schema ne definisce la struttura. Inoltre, tramite apposite funzioni, si occupa di  generare le corrette chiamate di scrittura  (insert/update) sul DB.  Le operazioni di lettura vengono demandate a  moduli stessi per permettere agli sviluppatori di  ottimizzare le query che generano.    
  12. 12. Drupal come framework di sviluppo ....coding with Drupal Il database Operazione di update di un campo all'interno di una  tabella usando le funzioni del DBL: $data = new stdClass(); $data->id = 25; $data->txt = 'bla bla bla'; $data->bool = FALSE; drupal_write_record('tabella', $data, array('id'));    
  13. 13. Drupal come framework di sviluppo ....coding with Drupal Il database Esempio di un estrazione di dati dal DB: $results = db_query(quot;SELECT * FROM {tabella} WHERE id < %dquot;, $id_limit); while ($row = db_fetch_object($results)) { $output .= $row->id; $output .= $row->txt; $output .= $row->bool; }    
  14. 14. Drupal come framework di sviluppo ....coding with Drupal Il database Il sistema di interazione con il DB mette già in atto  alcune funzionalità per la sicurezza; per fare questo,  però, bisogna rispettare i cosiddetti coding standard:  Uso dei placeholder nelle query, in questo  ● modo il sistema sanitizza i parametri della  query evitando SQL injection  check_plain e filter_xss per ripulire l'input  ● e l'utput dei datiXSS.    
  15. 15. Drupal come framework di sviluppo ....coding with Drupal testing Drupal utilizza unit testing per l'analisi dei meccanismi  di funzionamento dei diversi moduli. Questo si basa  sulla libreria Open Source simpletest. Oltre a questo esistono i moduli coder e schema che  analizzano l'aderenza del codice ai coding standard (il  primo) e l'integrità del DB (il secondo).     
  16. 16. Drupal come framework di sviluppo ....coding with Drupal Conclusioni Questo strumento si sta evolvendo sempre più  seguendo due direzioni parallele, la prima orientata  verso il CMS e la seconda verso il framework. Questo consente di sfruttarne le potenzialità in  entrambe le situazioni ottimizzando quindi i tempi di  realizzazione dei progetti basati su di esso sia per  sviluppatori che per gli amministratori.    
  17. 17. Drupal come framework di sviluppo ....coding with Drupal Domande? Per altre informazioni visitate http://drupal.org e http://www.drupalitalia.org    
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×