Oggi in uscita su HTML.it troviamo la prima parte della mia ultima fatica: la Guida alla programmazione orientata agli oggetti con PHP5. Come scritto nel post Codice procedurale vs OOP, con la versione numero 5.x PHP acquista un solido modello OOP e un vastissimo kit di strumenti per realizzare gerarchie e applicazioni orientate agli oggetti, pur non essendo un linguaggio nativamente OOP. La guida ha appunto lo scopo di fornire tutte le informazioni necessarie a conseguire le conoscenze tecniche, teoriche e pratiche che permettono di usufruire della programmazione orientata agli oggetti in PHP. In questa nutrita prima parte abbiamo a disposizione 6 lezioni: le prime 2, prettamente teoriche, indicano quali vantaggi porterebbe l'uso di questo paradigma di programmazione nelle applicazioni PHP. Dalla terza lezione si inizia ad analizzare la OOP da una prospettiva tecnica: nozioni teoriche farcite con molti esempi pratici di codice. Come ho indicato nella prima lezione, ho scritto questa guida tenendo conto di tutte le categorie di sviluppatori (principianti, intermedi ed esperti), in modo che ognuno possa trarre vantaggio. Buona lettura!

Continua a leggere Guida alla OOP con PHP5

Categoria: HTML.it

Tags: ,

Per chi proviene, come me, dalla programmazione OOP JavaScript può risultare per alcuni versi traumatico. Mancando di parole riservate come class, extends, private, public e protected ed essendo di fatto un linguaggio "class-free", JavaScript richiede un notevole sforzo per essere apprezzato come linguaggio OOP, o meglio, come linguaggio per lo meno basato sugli oggetti. Ho iniziato la mia avventura scrivendo codice procedurale e solo dopo aver studiato a fondo numerosi manuali e tutorial (come JavaScript. The good parts di Douglas Crockford e Professional JavaScript for web developers di Nicholas Zakas, le cui idee sono di fatto confluite nella libreria YUI) sono migrato progressivamente verso un codice OOP. (more...)

Continua a leggere JavaScript procedurale o OOP?

Categoria: Scripting

Facciamo finta che sia una specie di innocua web war :) Quoto dall'articolo di Riccardo Degni uscito oggi nella nostra sezione PHP: Fino al rilascio ufficiale della versione 5 di PHP, si può tranquillamente affermare che quest'ultimo era un linguaggio prettamente procedurale, nonostante la presenza di costrutti che lontanamente richiamavano i concetti della OOP. Tuttavia, se PHP 4 è un linguaggio procedurale, lo stesso non si può affermare di PHP 5. Quest'ultima release ha portato con sé un kit di strumenti davvero completo che permette di utilizzare le tecniche della OOP all'interno degli script server-side realizzati con il linguaggio in questione. àˆ ovviamente possibile che uno sviluppatore continui a scrivere codice precedurale anche con la versione 5 di PHP, che mantiene intatte tutte le caratteristiche della precedente versione con aggiunte davvero molto interessanti. In questo articolo vedremo dunque i pro e i contro di entrambe le tecniche di programmazione in questione analizzando accuratamente i punti di forza delle stesse. Voi da che parte state? Gli adagi degli antichi sono sempre validi, per cui vale pure "in medio stat virtus"... ;)

Continua a leggere Codice procedurale vs. OOP in PHP

Categoria: PHP e Open Source

Tags: ,

Sul framework jQuery si può dire veramente di tutto, tranne che sia indirizzato verso una struttura OOP. Micah Snyder ha creato appositamente un file, denominato Class.js e ospitato da GitHub, che permette di integrare una struttura Object-Oriented all'interno del framework, in modalità  molto simili ad altre librerie, primo fra tutti Prototype. Class.js, oltre a permettere l'uso di Pattern Object-Oriented all'interno delle applicazioni che si avvalgono di jQuery, consente di usare massicciamente i namespaces (anche con namespace multipli), permette la creazione di gerarchie ad ereditarietà  classica, limitata o Javascript-oriented ed offre parecchia libertà  allo sviluppatore, consentendo di creare vere e proprie "combo". Potete trovare ulteriori informazioni su Class.js con tanto di documentazione e demo nel Wiki su GitHub dedicato. L'idea di base sembra molto interessante, per quanto jQuery lavori già  bene senza gerarchie OOP. A mio avviso, il rischio che occorre mischiando tra loro due modalità  di programmazione Javascript completamente differenti e di creare confusione nello sviluppatore c'è.

Continua a leggere Object-oriented jQuery

Categoria: Scripting

Tags: ,

Lo avevo anticipato che non sarebbero bastate poche pagine per descrivere tutte le nuove funzionalità  orientate agli oggetti di PHP 5, ma prometto che questo è l'ultimo post specifico sull'argomento della serie verso PHP 5. Oltre al supporto per costruttore, distruttore e metodi speciali PHP 5 introduce diverse novità  molto utili. Innanzi tutto 3 nuovi dichiarazioni di scope per le variabili di una classe. In PHP 4 ogni variabile di classe era pubblica, nonostante fosse convenzione anteporre un carattere _ davanti a quelle ad uso privato. In PHP 5 è possibile definire variabili pubbliche, private e protette. Il carattere underscore _ non è obbligatorio, ma la convenzione rimane tra i programmatori di vecchia data. class User() { public $firstName; public $lastName; private $_username; protected $_email; } (more...)

Continua a leggere Verso PHP 5: (OOP) Nuove funzionalità  orientate agli oggetti

Categoria: PHP e Open Source

Tags: , ,

Dopo il post introduttivo agli oggetti in PHP 5, è bene fermarsi un momento per alcune raccomandazioni. In PHP 5 una delle modifiche più rilevanti che riguardano la retrocompatibilità  è il passaggio degli oggetti per riferimento e non per valore. Questo significa, ad esempio, che modificare un oggetto passato come parametro all'interno di una funzione, in PHP 5 modificherà  lo stato dell'oggetto stesso anche al di fuori della funzione stessa. (more...)

Continua a leggere Verso PHP 5: (OOP) Cambiamenti pericolosi rispetto a PHP 4

Categoria: PHP e Open Source

Tags: , ,

Eccoci qua con una nuova puntata della serie verso PHP 5. Dopo il php.ini e le modifiche necessarie, è l'ora di affrontare un altro aspetto profondamento mutato di PHP a partire dalla 5 major release: il supporto alla programmazione object oriented. In parte l'argomento è già  stato introdotto, ad esempio con la segnalazione dell'operatore instanceof, molto Java style, che ora prende il posto della più classica funzione is_a(). Ma questo è nulla in confronto alle reali novità  del linguaggio, per le quali potrebbe non bastare un solo libro. Vedrà di riassumere quanto possibile in un paio di post! Come sempre, approfondimenti sono disponibili nella guida Class and Object di PHP 5. (more...)

Continua a leggere Verso PHP 5: (OOP) Costruttori, distruttori e metodi magici

Categoria: PHP e Open Source

Tags: , ,