WoWonder, realizzare un Social Network in PHP

Quando sei uno sviluppatore PHP spesso ti capita di scontrarti verso una nuova piattaforma, un framework, una libreria o un CMS completamente nuova, con cui non avevi ancora avuto modo di lavorare. Ultimamente mi è capitato di lavorare un WoWonder, una piattaforma Web, usata per realizzare Social Network in PHP.

WoWonder Social Network in PHP

Cos’è WoWonder

WoWonder è una piattaforma realizzata in PHP che possiede tutte le funzionalità di un Social Network. Il progetto è stato pubblicato nel 2015 ad Istanbul.

Appena installato WoWonder abbiamo una struttura molto simile a quella di Facebook, ovvero possiamo contare su tantissime funzionalità, le principali sono:

  • Bacheca;
  • Profilo provato;
  • Messaggi privati e chat;
  • Gruppi e fan page;
  • Galleria immagini;
  • Possibilità di pubblicare post di ogni tipo (immagini, video, testo, documenti e video);
  • Condividere, commentare e mettere like e unlike ai post;
  • Blog personale;
  • E-commerce;
  • Forum;
  • Profili a pagamento o gratuiti.

Com’è fatto un Social Network in PHP

Come prima cosa carichiamo il progetto su NetBeans e vediamo un po’ com’è strutturato. Il codice è scritto in modo molto semplice e comprensivo, sembra realizzato per essere facilmente modificabile.

Tra i linguaggi che possiamo trovare ci sono i classici:

  • PHP;
  • MySQL;
  • HTML;
  • JavaScript.

Mi sarei aspettato una piattaforma orientata ad oggetti, invece l’utilizzo del PHP è strettamente funzionale, strutturata come se volesse simulare l’architettura Model-View-Controller.

Una volta che la piattaforma viene caricata, viene popolato l’array “$wo“, contenente tutte le informazioni sulla sessione, il contenuto di GET e POST,  sulla regola di routing da applicare alla pagina a cui si sta accedendo e tutto ciò che serve per il corretto funzionamento.

Questa struttura dati ora verrà interrogata dalla una serie di funzioni e di Switch Case, al fine di aggiornare il database e il contenuto della nostra struttura data.

La vista invece viene costruita da una serie di Wo_LoadPage, ogni chiamata di questa funzione include nel tema il contenuto di singole pagine PHTML.

Template e personalizzazioni

Tutti i file CSS, JavaScript e PHTML, sia che servano per gestire il l’area per gli utenti che quella di amministrazione, sono contenuti nella cartella del singolo tema.

Per creare un tema personalizzato è sufficiente duplicare il tema di default e modificare il file info.php con la nuova posizione del tema.

Software Libero e WoWonder

Per mio dispiacere la licenza applicata a WoWonder è proprietaria, ma dentro di esso possiamo trovare alcune librerie a noi familiari.

Tra librerie PHP utilizzate possiamo trovare:

  • PHPMailer (GNU LGPL);
  • AWS s3 (APACHE License);
  • Stripe PHP (MIT License);
  • Twilo (MIT License);

Invece tra i pacchetti JavaScript, Html e CSS abbiamo:

  • Readmore.js (MIT License);
  • jQuery (MIT License);
  • Popcorn (MIT License);
  • Bootstrap (MIT License).

I miei pro e i miei contro

Mi son trovato a lavorare su una versione della piattaforma con delle personalizzazioni già presenti, ma nonostante questo è trovato semplice:

  • Creare un nuovo tema;
  • Correggere o modificare funzioni già presenti;
  • Importare nuove librerie;
  • Sostituire il sistema nativo per la gestione del DB con una libreria Open Source;
  • Creare nuove classi.

I pro

Vediamo l’elenco di cosa mi è piaciuto maggiormente:

  • Semplicità assoluta nelle modifiche;
  • Template completamente responsivo;

I contro

Cosa non mi è piaciuto:

  • Non posso godere delle comodità del PHP orientato ad oggetti;
  • Quando non si usa un architettura MVC, avviene una separazione troppo netta tra Model e View ma, come in questo caso, il Controller risulta divisa e spesso disordinata.

Questa piattaforma è ideale anche per chi vuole creare facilmente un Social Network in PHP senza mettere le mani sul codice o con poche modifiche oppure se state pensando di utilizzare per il vostro progetto BuddyPress per WordPress, WoWonder può essere una valida alternativa.

Link utili

Ecco dove potete trovare informazioni su WoWonder, la piattaforma per realizzare Social Network in PHP: