Cervello e chip

La programmazione a oggetti è l’espressione più efficiente di un linguaggio informatico. I vantaggi sono molti, a partire dall’efficienza (1)

Con questo articolo iniziamo ad addentrarci in uno dei pilastri portanti della programmazione: l’uso degli oggetti di classe. Il php è un linguaggio di programmazione a 360° e come gli altri suoi fratelli più in voga integra un sistema di uso delle classi abbastanza intuitivo.

Una volta conosciute le basi e i primi approfondimenti del php, è quasi indispensabile passare alle classi. Perché? Le motivazioni sono molte (più sotto le vedremo nei dettagli), ma principalmente è una questione di professionalità e utilità: il codice è ben ordinato ed è possibile lavorare in più persone contemporaneamente su un progetto, senza temere di intaccare qualche funzionalità fondamentale.
L’argomento dell’uso agli oggetti è davvero vasto: con l’esperienza scoprirete quanto è utile e complesso, e che si tratta del vero “cuore” dei linguaggi di programmazione, dove il ragionamento e l’organizzazione fanno la differenza.

Nel tutorial (suddiviso in più articoli) vedremo un utilizzo di base delle classi. A fine spiegazione dovreste essere in grado di costruirvi una vostra classe rudimentale e di popolarla con dei metodi.
In seguito vedremo, inoltre, un esempio semplice e concreto (che potrete liberamente scaricare) dell’uso di una classe.
Si presumo che abbiate già una buona conoscenza di base del php e dell’uso di funzioni.

In generale: la programmazione a oggetti

Con la parola “oggetti” non si intende altro che una zona di memoria allocata.
La “programmazione orientata agli oggetti” (che in genere si abbrevvia con OOP, dall’inglese Object Oriented Programming) è idealmente un insieme di strumenti offerti, nel nostro caso, dal php per permettere agli oggetti di interagire tra loro, scambiandosi dei messaggi.
Restringendo, quindi, la OOP è una serie di strumenti che permette a due o più zone di memoria (oggetti) di comunicare tra loro.

Leggi Tutto >>

Wordpress - Shortcode

Le funzioni per lo shortcode di WordPress ci permettono di inserire codice personalizzato all’interno del content di un articolo (1)

Se fate spesso uso di WordPress e dei suoi plugin, prima o poi vi siete senz’altro imbattuti in uno shortcode API.
Di cosa si tratta? Come spiega la documentazione, sono «un insieme di funzioni per creare un macro codice all’interno del contenuto di un post». Nella pratica, gli shortcode possono essere visti come alias da sostituire: quando nel testo di un articolo compare una determinata stringa, questa viene sostituita da un codice specifico.

Per esempio, nel content di un post potreste trovare uno shortcode come questo, che permette di aggiungere una photo gallery nella pagina:

1
[myshortcode-gallery id=1]

Un sistema comodo per aggiungere codice all’interno di un articolo: basta scrivere lo shortcode nel punto voluto del testo e, alla stampa del content, WordPress si occuperà di convertirlo.

Creare uno shortcode personalizzato

Esiste naturalmente la possibilità di creare uno shortcode personalizzato, che stampi un macro codice creato da noi.

WordPress ci mette a disposizione delle funzioni per la gestione degli shortcode. Andiamo a vederle sommariamente:

1
2
3
4
5
6
7
8
9
10
11
12
//registra un nuovo shortcode
//$tag è lo shortcode scritto da noi, $func è la funzione di conversione
function add_shortcode($tag, $func)

//rimuove un determinato shortcode ($tag)
function remove_shortcode($tag)

//rimuove tutti gli shortcode
function remove_all_shortcodes()

//esegue tutti gli shortcode che trova nel testo passato ($content)
function do_shortcode($content)

Leggi Tutto >>

TeamViewer - presentazione

Con TeamViewer possiamo collegarci con un computer in remoto e controllarlo a nostro piacimento (1)

TeamViewer è un software conosciuto già da tempo sul web, giunto ormai alla versione 8. C’è però chi ancora non lo conosce o non ha avuto occasione di usarlo. Possiamo dire che non si tratta di uno strumento indispensabile, ma estremamente utile che in alcuni casi può farci risparmiare diverso tempo.

Cosa fa TeamViewer?
Come recita il sito ufficiale, permette di «instaurare un collegamento ad un computer qualsiasi tramite Internet e controllare il computer a distanza, come se foste seduti lì davanti».
In poche parole, vi permette di prendere il possesso di un computer a qualsiasi distanza si trovi, purché vi sia un collegamento internet attivo.

Come potete immaginare, l’utilità è indubbia. Potete usarlo tanto a lavoro quanto per questioni private. Dovete fare assistenza a un cliente? Gli dite di installare il software e potete sistemargli il problema restando comodamente in poltrona, senza recarvi nella sua sede.
Oppure siete fuori sede e avete un cellulare a disposizione? Potete installarvi TeamViewer sullo smartphone e crearvi da lì un collegamento con il vostro pc, per “manipolarlo” anche mentre siete in giro.

L’unica cosa che dovete fare è installare TeamViewer su entrambi i computer. Poi, una volta stabilito il collegamento, avrete accesso alla schermata del pc remoto come se fosse una sotto-finestra del desktop (la velocità di azione dipende, ovviamente, dalla velocità della rete).

Leggi Tutto >>

Lucchetti amanti in Germania

Un minimo di sicurezza per blindare le nostre password è essenziale. Il php ci mette a disposizione alcune funzioni per la criptazione di una stringa (1)

Il problema della sicurezza delle password è il più spinoso – e affascinante – all’interno della programmazione. Su questo tema sono stati fatti, e continuano a essere fatti, innumerevoli studi, visto che il mondo della “violazione informatica” si fa sempre più sofisticata.

Poniamo il caso che il nostro sito sia costruito con un codice poco sicuro: un cracker anche inesperto potrebbe entrare ed estrapolare i nostri dati. Ma se le password che abbiamo salvato nel database sono criptate, non avrà alcun modo di risalire alla vera password inserita (questo significa che se quella stessa password l’abbiamo usata per altri siti, il cracker non riuscirà comunque entrare: è chiaro comunque che la cosa migliore è utilizzare sempre password diverse per ogni login).
I sistemi di criptazione più efficaci, infatti, prendono una stringa e la convertono in un’altra stringa indecifrabile dall’uomo. E’ un procedimento complesso e irreversibile: una stringa criptata non può tornare al suo stato originario.

Ci sono delle eccezioni “meno sicure” di criptografia (come la funzione CRC32 che restituisce sempre e comunque un intero di 32 bit), ma in questo articolo non le tratteremo. Vedremo invece i due sistemi più usati per crittografare una stringa (password) in php: l’uso delle funzioni md5() e sha1().
Sia chiaro che non rappresentano gli algoritmi più sicuri sul campo: soprattutto con l’avanzare delle capacità computazionali dei computer, questi algoritmi stanno diventando sempre più obsoleti e se il sito richiede particolari sistemi di protezione è utile, anzi necessario, affidarsi ad algoritmi più sicuri, per esempio all’SHA512, o a sistemi di crittografia ancora più avanzati la cui trattazione richiederebbe un articolo a parte.
In linea di massima, comunque, per le criptazioni di base l’SHA1 è sufficiente: nell’articolo intendo soltanto evidenziare il procedimento standard per criptare una password. La cosa assolutamente da evitare, infatti, è di salvare la password degli utenti in chiaro (cioè così come viene inviata): permette di recuperarla senza problemi in caso di smarrimento, visto che è visibile nel database, ma un qualsiasi cracker che riesca ad avere accesso nel database avrà a disposizione una lista subito fruibile.

Se siete interessati ad approfondire il tema delle password o della login, vi segnalo alcuni degli articoli che ho già trattato:
– uno script in php da scaricare, spiegato nei dettagli, per il recupero della password dimenticata dall’utente
– uno script da scaricare per creare una login in php tramite l’uso di cookies
– generare una password random con javascript

Leggi Tutto >>

Infografica di Twitter

Twitter è utile per tenersi aggiornato su interessi e informazioni specifiche, ma anche per aumentare i target dei propri prodotti

Che sia per soddisfazione personale o per motivi economici, chiunque si iscriva su Twitter ha due obiettivi: seguire altri utenti con gli stessi interessi o dello stesso settore lavorativo, oppure farsi seguire da più utenti possibili.

Per la prima questione si tratta di gusti personali e non serve approfondire (anche se ci sarebbero alcuni accorgimenti da tenere presente).
Se, invece, il vostro scopo è farvi seguire da più utenti (in gergo follower) possibili, eccovi una breve guida con indicazioni per raggiungere qualche successo.
Gran parte dei consigli sono gli stessi che chiunque dovrebbe tenere presente per promuovere un qualsiasi articolo, per cui si possono estendere ad altre situazioni. Serve naturalmente lavoro, costanza e tempo da dedicarci.

L’importante è che teniate sempre a mente la regola d’oro di chi cerca di essere promosso: «la qualità di chi ti segue vale molto più della quantità di chi ti segue».

Promuovere il tuo profilo online

Infografica di Twitter

La promozione online è la più semplice, anche se a volte può essere lunga. Serve pazienza e una buona dose di empatia

La cosa migliore è inserire il link al proprio profilo Twitter dove è possibile. Questo significa che se vi iscrivete in un forum, per esempio, dovreste segnalarlo nella firma (senza mai essere invasivi: basta il link). Lo stesso si dica se avete una biografia online o, soprattutto, se avete un vostro sito personale.

Naturalmente anche i vostri tweet devono essere visibili dove possibile. Sempre se avete un vostro sito, inserite gli ultimi tweets nella sidebar o includeteli in articoli a tema.

Leggi Tutto >>

Mobile Detect - screenshot

Uno screenshot di Mobile Detect, classe per riconoscere il dispositivo mobile in uso

Se vi serve un sistema semplice e veloce per rilevare il dispositivo dell’utente, Mobile Detect fa senz’altro al caso vostro.
Si tratta di una classe php piuttosto leggera che legge e interpreta gli header http in modo da stabilire quale tipo di device stia usando l’utente. La sua semplicità d’uso e la sua accuratezza l’hanno resa un’ottima classe da utilizzare in progetti di tutto rispetto.

Per prima cosa scaricatevi lo zip al seguente indirizzo.
Quando lo scompattate, vi ritrovate diversi file a disposizione, ma l’unico che vi occorre davvero è “Mobile_Detect.php”: la classe è contenuta in questo file.

Se avete qualche dimestichezza e aprite il file, vi accorgerete che si tratta di una classe abbastanza semplice da leggere. Naturalmente è in continua evoluzione, visto che tiene traccia dei device possibili sul mercato, per cui andrebbe aggiornata sempre all’ultima versione.

Vediamo il suo utilizzo, descritto tra l’altro anche nell’esempio ufficiale.

Leggi Tutto >>

Sfera con icone varie

I feed reader ci permettono di non perderci gli articoli dei nostri siti preferiti e di gestirli secondo le nostre esigenze (1)

Navigando tra i siti internet e i blog, anche di “piccola taglia”, avrete notato la presenza di un’icona arancione con all’interno tre onde concentriche di colore bianco. Questa immagine indica al pubblico che il sito in questione ha la possibilità di condividere le sue informazioni tramite dei feed.
Ne faccio uso anche in Sir Bit (come negli altri miei portali): se provate a cliccarvi sopra vi si aprirà una pagina che mostrerà l’elenco degli ultimi articoli che ho scritto, allineati secondo una struttura specifica.

In linea generale, i feed sono nati per distribuire e condividere dei contenuti sul web.
Possiamo vedere i feed come dei flussi di informazioni: quando un blog scrive un nuovo articolo o un sito di negozio online inserisce un nuovo prodotto, per esempio, i feed li raccolgono in un formato standard. Con l’uso di strumenti, noi possiamo seguire i nuovi articoli (cioè leggere i feed) senza visitare direttamente il sito.
Il perché siano tanto diffusi è chiaro: se seguiamo le notizie di numerosi siti, è comodo disporre di un mezzo che ci permetta di scorrere tutte le informazioni da un’unica piattaforma, evitando di entrare in ognuno dei nostri siti preferiti.

Cos’è l’RSS

In questo articolo non mi occuperò della parte tecnica, ma qualche breve cenno ci sarà utile per capire il suo uso.
RSS è l’acronimo per Really Simple Syndication ed è un’applicazione che si basa sul linguaggio XML. Da quest’ultimo, infatti, ha preso la struttura semplice, che nel codice risulta essere un insieme di campi internati uno nell’altro (un po’ come dei contenitori). Tanto per capirci, il campo “articolo” potrebbe contenere al suo interno i campi “titolo” e “descrizione”.

Leggi Tutto >>

Frecce in verticale ognuna con lettera alfabetica progressiva

La stampa di categorie e sottocategorie, in WordPress, è gestita con una funzione che ammette diversi parametri per personalizzarla (1)

La funzionalità tipica di WordPress, quando avviate il sito anche senza applicare temi, prevede nella barra superiore l’elenco dei menu (in pratica le categorie) e dei sottomenu. Cliccando su uno qualsiasi dei menu, si finisce nella pagina dove vengono elencati tutti i suoi post (gli articoli che scrivete).

Tutto questo è possibile grazie all’uso di una funzione predisposta: wp_list_categories().
Gli argomenti che questa funzione permette di assumere sono molti. Riporto qui la lista dal sito ufficiale. Più sotto daremo un’occhiata alle principali e più usate (per il resto rimando alla pagina ufficiale inglese che troverete nelle fonti).

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
$args = array(
	'show_option_all'    => '',
	'orderby'            => 'name',
	'order'              => 'ASC',
	'style'              => 'list',
	'show_count'         => 0,
	'hide_empty'         => 1,
	'use_desc_for_title' => 1,
	'child_of'           => 0,
	'feed'               => '',
	'feed_type'          => '',
	'feed_image'         => '',
	'exclude'            => '',
	'exclude_tree'       => '',
	'include'            => '',
	'hierarchical'       => 1,
	'title_li'           => __( 'Categories' ),
	'show_option_none'   => __('No categories'),
	'number'             => null,
	'echo'               => 1,
	'depth'              => 0,
	'current_category'   => 0,
	'pad_counts'         => 0,
	'taxonomy'           => 'category',
	'walker'             => null
);

Leggi Tutto >>

Stringhe di elastici

Con una semplice funzione possiamo dividere il testo su più righe, senza troncare le parole (1)

Poniamo il caso che abbiate un contenitore (un div, per esempio) la cui lunghezza è pari da richiedere che ogni riga di testo non abbia più di 50 caratteri. All’interno di questo contenitore, però, dovete inserire un testo dinamico (per esempio preso da database) di cui non potete sapere la lunghezza a priori: potrebbe essere una stringa da 10 caratteri o da mille.
Quello che vi occorre, in casi come questo – che non sono per niente rari – è un sistema per suddividere il testo dinamico in “parti” di 50 caratteri, in modo da poterlo disporre su righe diverse senza strabordare dal contenitore.

Lo script che andiamo a vedere oggi fa esattamente questo. Si tratta di una semplice funzione che si compone di tre parametri:
– il testo da stampare su più righe
– il numero di caratteri massimo che deve stare su una riga
– un eventuale elemento separatore con cui suddivideremo, ulteriormente, il testo passato (parametro opzionale)

La funzione è costruita affinché le parole non vengano troncate: se siamo arrivati a quasi 50 caratteri e la successiva parola ne contiene per esempio 10, la parola sarà messa a capo su una nuova riga.
Il carattere separatore dipende dalle vostre esigenze: può essere l’elemento di accapo (
o \n) oppure un qualsiasi altro elemento utile per tenere traccia di dove deve iniziare e finire una riga.

Diamo un’occhiata alla funzione che, come sempre, è commentata.
Lo script è liberamente scaricabile e personalizzabile. I commenti dovrebbero essere più che sufficienti per comprendere il funzionamento del codice.

Leggi Tutto >>

Pagina di libro in procinto di sfogliarsi

A volte può essere necessario ricaricare la pagina solo dopo un certo lasso di tempo

Per esigenze di un cliente, mi è capitato di dover ricaricare la pagina subito dopo l’invio di un form di login. Più in concreto, la pagina di destinazione del form si apriva a parte, mentre la pagina corrente doveva essere ricaricata subito dopo.
Non solo: la pagina del form doveva ricaricarsi qualche secondo dopo l’invio, così da lasciare il tempo al cookies di settarsi e di “mostrare” al sito che l’utente era effettivamente loggato.

Una simile operazione può essere fatta facilmente con il semplice utilizzo di javascript e jquery.
Il concetto è semplice e richiede un codice di implementazione molto breve.

Ridotto ai minimi termini, il form è qualcosa di simile al seguente. Cliccando sul link “Login”, si richiamerà la funzione login_submit().

Leggi Tutto >>