PHP

PHP: rappresentare le date come su facebook

Capita a volte di avere la necessità di presentare la data in un formato che non sia il classico data/mese/anno ma magari qualcosa di più amichevole nei confronti dei vostri utenti magari proprio come fanno gli amici di Facebook.com. Sicuramente scrivere (e leggere) “Aggiornato 5 ore fa” è molto più naturale e comodo rispetto ad un criptico: “Aggiornato il 22/12/2009 alle 15:32″. Ecco di seguito una funzione in PHP che, partendo da un timestamp in formato UNIX, restituisce una stringa con un formato di data “alla facebook” (giusto per confermare l’esempio che dà il nome a questo post :D )

function timestamp_to_ago($ts){

	$now = time();
	$life = $now-$ts;
	$seconds = $life;
	$minutes = floor($life / 60);
	$hours = floor($life / (60 * 60));
	$days = floor($life / (60 * 60 * 24));

	if($seconds && !$minutes) {
		$qty = $seconds;
		$unit = $seconds == 1 ? 'secondo' : 'secondi';
	}elseif($seconds && $minutes && !$hours){
		$qty = $minutes;
		$unit = $minutes == 1 ? 'minuto' : 'minuti';
	}elseif($seconds && $minutes && $hours && !$days){
		$qty = $hours;
		$unit = $hours == 1 ? 'ora' : 'ore';
	}elseif($seconds && $minutes && $hours && $days){
		$qty = $days;
		$unit = $days == 1 ? 'giorno' : 'giorni';
	}
	$time = "{$qty} {$unit} fa";
	return $time;
}

{ 3 Commenti }

Come modificare la lunghezza dell’excerpt su WordPress 2.7+

Con la versione 2.7 di WordPress è stata introdotta la possibilità di modificare la lunghezza di default dell’excerpt (55 parole) tramite l’utilizzo di un hook.

È sufficiente inserire queste righe di codice nel file functions.php per modificare la lunghezza di default dell’excerpt

    function modifica_lunghezza_excerpt(){
        return 20; // Modificate con valore che più ritenete opportuno
    }

    add_filter('excerpt_length','modifica_lunghezza_excerpt'); // Lo potete sempre rimuovere con remove_filter

Riferimenti:
Codex: Add Filter

{ Nessun Commento }

Velocizzare WordPress (ma non solo) lato server con APC

“WordPress è una piattaforma leggera e performante”. Vero. Cosa succede però se installiamo una decina di plugin super-fighi oppure il nostro tema troppo-web-2.0 (dove il requisito per essere 2.0 è di fare più di 100 query al database per aggregare gli stessi dati in 800 modi diversi)?

Esistono diverse regole di profilassi meno drastiche della soluzione che vi proponiamo in questo post e se non le avete ancora provate, o semplicemente non sapete di cosa diavolo stiamo parlando, vi esortiamo a dare un’occhio su google ai numerosi tutorial che trattano questa tematica. Se invece siete utenti più smaliziati, oppure le avete provate tutte e rischiate il posto di lavoro, quello che fa per voi si chiama APC.

APC è l’acronimo di Alternative PHP Cache ed è un sistema di caching del bytecode di PHP che viene distribuito sotto forma di estensione di PHP ed è incluso nel pacchetto PECL (verrà incluso di default nel core di PHP a partire dalla versione 6).

APC permette di immagazinare in cache le porzioni di codice PHP che vengono eseguite più frequentemente. L’impatto sulle performance è rilevante (kifulab.net è passato da 1.2 secondi a 0.7 secondi come tempo di generazione dell’homepage) e se usato insieme ad altre tecniche di ottimizzazione può dare molte soddisfazioni soprattutto se usato su siti ad alto traffico.

Per installare APC è necessario disporre degli accessi al server come amministratore e di avere un minimo di dimestichezza con apache e i file di configurazione di PHP.

Da riga di comando basta soltanto digitare:

pecl install apc

Pecl si occuperà di installare, compilando, l’estensione di PHP (se non avete PECL installato dovete installare il pacchetto php-devel).

Nel file php.ini (tipicamente collocato in /etc/php.ini) cercate la sezione dedicata alle estensioni e inserite la seguente riga di codice

extension=apc.so

Et voilà, abbiamo finito. Riavviate apache

/etc/init.d/httpd restart

E il gioco è fatto. Ovviamente l’estensione ha diverse configurazioni per le quali vi rimando alla documentazione ufficiale.

{ Nessun Commento }

Pagina 1 di 212