Librinformatica

Newsletter

Libreria Gaia Scienza Edizioni Erasmo Edizioni del Boccale

PHP per professionisti (PHP 5.3)

Apogeo

PHP per professionisti (PHP 5.3)

In offerta
29,75 € IVA compresa

35,00 € IVA compresa

(sconto del 15 %)

Bestseller

9788850331130

  • Volumi: 1
  • Data Pubblicazione: 01/2012
  • Lingua: italiano
  • Livello: Intermedio Avanzato
  • Pagine: 403
  • Collana: Guida completa
  • Editore Originale: Apress
  • Titolo Originale: Pro PHP Programming
  • Autore: Peter MacIntyre ; Brian Danchilla ; Mladen Gogala

Se sei un programmatore web, non puoi non conoscere PHP, il linguaggio di sviluppo lato server più diffuso e utilizzato.

Questo libro è una guida chiara e pratica a PHP che focalizza l'attenzione sugli argomenti più evoluti e attuali. Il percorso inizia dall'analisi delle funzionalità introdotte con la versione 5.3 e prosegue affrontando la programmazione per dispositivi mobile, come smartphone e tablet, che stanno trasformando il modo di navigare e vivere la Rete.

Quindi si passa all'analisi di social network come Facebook o Flickr, scritti in larga parte in PHP, per arrivare alla creazione di interfacce per l’integrazione con i social media. Senza dimenticare la gestione dei dati, a partire dai form fino all'interazione con i database e alle soluzioni per la presentazione e la distribuzione delle informazioni offerte da JSON, AJAX e XML.

Tutto con un occhio di riguardo alla sicurezza. Anche i programmatori più esperti troveranno in questo testo tutto quello che gli occorre per implementare soluzioni moderne efficaci e funzionali.
Argomenti in breve:


  • PHP dopo la versione 5.3
  • PHP per il mondo mobile
  • Creare applicazioni per i social media
  • Design e gestione dei form
  • Interazione con i database
  • Lavorare con librerie open source
  • Tecniche per la sicurezza web
  • Sviluppo agile con Zend Studio for Eclipse, Bugzilla, Mylyn e Subversion
  • Refactoring, unit testing e continuous integration
  • XML, JSON e AJAX
  • Espressioni regolari

 


Gli autori

Peter MacIntyre, Senior Solutions Consultant per OSSCube, vanta più di vent’anni di esperienza nell’IT. Alla programmazione unisce l'attività di divulgazione: ha contribuito alla pubblicazione di molti testi ed è stato relatore di conferenze internazionali.

Brian Danchilla, studi di matematica e informatica, ha scritto codice per oltre metà della sua vita acquisendo sensibilità e competenze verso ogni tipo di applicazione (web, analitica, grafica, VoIP) che ha poi diretto verso la sua attività di formatore.

Mladen Gogala è un professionista affermato nel settore dei database e vanta una brillante carriera come amministratore di sistemi Oracle DBA, Linux, Unix, VAX/VMS.

Indice generale

Gli autori .............................................................................................xiii

Ringraziamenti ...................................................................................xv

Prefazione .........................................................................................xvii

Introduzione ......................................................................................xix

Le origini di PHP ........................................................................xix

Cos’è PHP? .................................................................................xix

Panoramica del libro ....................................................................xxi

Capitolo 1: programmazione orientata agli oggetti ..................xxi

Capitolo 2: eccezioni e riferimenti ..........................................xxi

Capitolo 3: PHP e dispositivi mobili ......................................xxi

Capitolo 4: social media e PHP ..............................................xxi

Capitolo 5: PHP all’ultima moda ...........................................xxii

Capitolo 6: progettazione e gestione dei form ........................xxii

Capitoli 7 e 8: interazione con i database ................................xxii

Capitolo 9: Oracle .................................................................xxii

Capitolo 10: le librerie PHP ...................................................xxii

Capitolo 11: fondamenti PHP per la sicurezza ........................xxii

Capitolo 12: lavoro di sviluppo con Zend Studio...................xxiii

Capitolo 13: refactoring e unit testing ...................................xxiii

Capitolo 14: XML e PHP .....................................................xxiii

Capitolo 15: JSON/Ajax ......................................................xxiii

Capitolo 16: conclusioni .......................................................xxiii

Appendice .............................................................................xxii

File di esempio .....................................................................xxiii

Il futuro di PHP.........................................................................xxiv



Capitolo 1 Programmazione orientata agli oggetti ......................1

Classi ............................................................................................. 1

Ereditarietà e overloading ............................................................... 4

Metodi “magici” ............................................................................ 8

I metodi __get e __set ............................................................. 9

Il metodo __isset .....................................................................10

Il metodo __call ......................................................................10

Il metodo __toString() .............................................................10

Copiare, clonare e confrontare oggetti ...........................................11

Interfacce, operatori di iterazione e classi astratte ...........................14

Scope di una classe e membri statici ..............................................18

Riepilogo .....................................................................................20



Capitolo 2 Eccezioni e riferimenti .................................................21

Eccezioni ......................................................................................21

Riferimenti ..................................................................................26

Riepilogo .....................................................................................31



Capitolo 3 PHP e dispositivi mobili...............................................33

Le differenze tra dispositivi mobili .................................................34

Il rilevamento dei dispositivi .........................................................34

La stringa user agent ................................................................34

Supporto predefinito in PHP ...................................................35

Rilevare le funzionalità dei dispositivi mobili .................................38

WURFL .................................................................................38

Strumenti di rendering..................................................................50

WALL .....................................................................................50

Ridimensionamento delle immagini .......................................51

CSS dinamici ...........................................................................52

Emulatori e SDK ..........................................................................53

Sviluppo pet Android ...............................................................53

Adobe Flash Builder for PHP ..................................................53

Codici QR ...................................................................................54

Riepilogo .....................................................................................56



Capitolo 4 Social media .................................................................57

OAuth ..........................................................................................58

Twitter .........................................................................................58

API Public Search ....................................................................58

API REST private ...................................................................60

Sfruttare Twitter OAuth per il login al sito ...............................72

Altri metodi ed esempi di API di Twitter ..................................76

Indice generale ix

Facebook ......................................................................................79

Aggiungere un link per il logout da Facebook ..........................84

Richiesta di permessi aggiuntivi ...............................................85

Graph API ...............................................................................86

Riepilogo .....................................................................................88



Capitolo 5 PHP all’ultima moda ....................................................89

Namespace ...................................................................................90

Namespace e autoloading ........................................................92

Considerazioni finali sui namespace .........................................93

Funzioni anonime (closure) ...........................................................93

Nowdoc .......................................................................................94

Istruzioni goto locali .....................................................................97

La Standard PHP Library ..............................................................98

Considerazioni finali sulla libreria SPL ...................................101

Estensione phar ...........................................................................101

Riepilogo ...................................................................................105



Capitolo 6 Progettazione e gestione dei form ..........................107

Validare i dati ..............................................................................107

Upload di file e immagini ...........................................................114

Conversione delle immagini e miniature .....................................115

Espressioni regolari .....................................................................117

Integrazione multilingue (set di caratteri) ....................................120

Riepilogo ...................................................................................122



Capitolo 7 Integrazione con i database (parte I) .......................123

Introduzione a MongoDB ..........................................................125

Query in MongoDB .............................................................129

Aggiornare MongoDB ..........................................................133

Aggregazione in MongoDB ...................................................135

Considerazioni finali su MongoDB ........................................138

Introduzione a CouchDB ...........................................................138

Utilizzo di Futon ...................................................................139

Considerazioni finali su CouchDB ........................................146

Introduzione a SQLite ................................................................146

Considerazioni finali su SQLite..............................................156

Riepilogo ...................................................................................156



Capitolo 8 Integrazione con i database (parte II) .....................157

Introduzione all’estensione MySQLi ...........................................157

Considerazioni finali su MySQLi Extension ...........................165

Introduzione a PDO ...................................................................165

Considerazioni finali su PDO ................................................169

Introduzione ad ADOdb .............................................................169

Considerazioni finali su ADOdb ............................................174

Ricerche full-text con Sphinx .....................................................174

Riepilogo ...................................................................................183



Capitolo 9 Integrazione con i database (parte III) .....................185

Introduzione a Oracle RDBMS ..................................................185

Le basi: connessione ed esecuzione di comandi SQL ...................188

Interfaccia ad array ......................................................................192

Procedure e cursori PL/SQL ......................................................195

Lavorare con tipi LOB ................................................................198

Una rivisitazione del collegamento a DB: il pool di connessioni ..204

Set di caratteri nel database e in PHP ..........................................206

Riepilogo ...................................................................................208



Capitolo 10 Le librerie ....................................................................209

Setup del server .........................................................................209

SimplePie ...................................................................................210

TCPDF ......................................................................................214

Ricavare informazioni da un sito web ....................................220

Integrazione con Google Maps ...................................................225

E-mail e SMS .............................................................................229

gChartPHP: API wrapper per Google Chart ..............................232

Riepilogo ...................................................................................235



Capitolo 11 Sicurezza .....................................................................237

“Non fidarti di nessuno” .............................................................238

register_globals ......................................................................238

Whitelist e blacklist ................................................................239

I dati dei form .......................................................................240

$_COOKIES, $_SESSION e $_SERVER .............................241

Richieste Ajax .......................................................................241

Forme comuni di attacco ............................................................242

Same origin policy ................................................................242

Cross-Site Scripting (XSS) .....................................................243

Cross-Site Request Forgery (CSRF) ......................................245

Sessioni .......................................................................................246

Evitare gli attacchi SQL Injection ..............................................247

L’estensione dei filtri ...................................................................249

php.ini e impostazioni del server .................................................252

L’ambiente server ...................................................................252

Rendere più robusto il file php.ini .........................................253

Indice generale xi

Algoritmi relativi alle password ....................................................254

Riepilogo ...................................................................................255



Capitolo 12 Sviluppo agile con Zend Studio for Eclipse,

Bugzilla, Mylyn e Subversion ....................................257

Principi dello sviluppo agile ........................................................257

Il rally dello sviluppo agile ..........................................................258

Introduzione a Bugzilla ...............................................................260

Mylyn for Eclipse .......................................................................261

Bugzilla e Mylyn for Eclipse .......................................................264

Valutare ulteriori vantaggi ...........................................................267

Riepilogo ...................................................................................270



Capitolo 13 Refactoring, unit testing e continuous integration ............271

Refactoring ................................................................................272

Piccoli interventi di refactoring ..............................................273

Esempio più esteso di codice legacy .......................................276

Unit testing ................................................................................289

Continuous integration ...............................................................305

Server CI ...............................................................................306

Controllo versione .................................................................306

Analisi statica .........................................................................307

Automazione dello sviluppo (build automation) .....................308

Setup del server Jenkins .........................................................308

Riepilogo ...................................................................................310



Capitolo 14 XML .............................................................................313

Concetti di base dell’XML ..........................................................313

Gli schemi ..................................................................................314

SimpleXML ................................................................................315

Parsing XML di una stringa ...................................................315

Parsing XML di un file ..........................................................317

Namespace ...........................................................................321

RSS.......................................................................................324

Generare codice XML con SimpleXML ................................326

DOMDocument.........................................................................331

XMLReader e XMLWriter .........................................................334

Riepilogo ...................................................................................335



Capitolo 15 JSON e Ajax.................................................................337

JSON .........................................................................................338

PHP e JSON .........................................................................339

Ajax ............................................................................................344

Il modello web tradizionale ....................................................345

Il modello web in Ajax ..........................................................345

Eventi asincroni e sincroni .....................................................346

L’oggetto XMLHttpRequest ..................................................348

Utilizzo di XMLHttpRequest ................................................349

API JavaScript di alto livello ...................................................355

Esempi in jQuery ..................................................................355

Inviare dati a uno script PHP tramite Ajax .............................360

Un semplice programma di disegno ............................................362

Salvare lo stato del disegno .....................................................365

Riepilogo ...................................................................................370



Capitolo 16 Conclusioni .................................................................373

Risorse .......................................................................................373

www.php.net .........................................................................374

www.zend.com .....................................................................374

devzone.zend.com .................................................................374

php|architect: www.phparch.com ..........................................376

Conferenze .................................................................................376

Certificazioni PHP .....................................................................377

Riepilogo ...................................................................................378

Appendice Le espressioni regolari ..............................................379

Sintassi delle espressioni regolari ..................................................380

Esempi di espressioni regolari ......................................................381

Opzioni interne .....................................................................384

Comportamento greedy ........................................................385

Funzioni PHP per le espressioni regolari .....................................386

Sostituzione di stringhe: preg_replace .....................................386

Altre funzioni per le espressioni regolari .................................388



Indice analitico..................................................................................391

Carrello

Non ci sono prodotti

Spedizione 0,00 €
Totale 0,00 €

Carrello Acquista