Symfony: Le ultime 2 settimane

Lo sviluppo di Symfony procede senza sosta, mentre tutti eravamo in fierie (o quasi..), il team e tutto la comunità che gli gira intorno hanno prodotto in ogni campo, nuovi Blogger, nuovi Plugin e un continuo refactoring del codice in previsione dell’imminente rilascio della versione 1.1

Comunque, proprio oggi l’annuncio di Fabien Potencier di delegare il branch 1.0.x a Noël Guilbert and Grégoire Hubert (per concentrarsi completamente sullo sviluppo della nuova revisione)  che avranno (l’ingrato) compito di mantenere viva questa versione con bugfix e aggiornamenti di sicurezza,  ma senza l’introduzione di nuove features.

Mentre per quanto riguarda il versante Plugin, molte sono le novità:

Questi invece quelli aggiornati:

Inoltre in Maling-list, si sta discutendo sulla creazione di un editor Rad proprio sulle librerie di Symfony (una specie di Rad-rails) quindi un plugin per Eclipse.

Una mia piccola soddisfazione, sono stato aggiunto nella lista di blogger che parlano di Symfony :)

Che aspettate a provarlo ?

Wordpress Plugin: Wp-image-dropshadow (ombre sulle immagini)

web2.0-photoshop

 

Ho appena creato un prototipo di un plugin, al momento sono solo poche righe di codice (giusto delle inclusioni), che permette di aggiungere dinamicamente con css e Javascript le ombre sulle immagini (come questa che vedi nel post).

Non so se gia esiste un plugin che faccia questo lavoro, ma non l’ho trovato (non è che ci abbia perso molto tempo), quindi non ho perso tempo e ne ho creato uno.

Non ho avuto tempo di creare una piccola interfaccia di amministrazione, ma nei prossimi giorni lo farò senz’altro, per adesso il funzionamento è molto semplice, basta copiarlo nella dir dei plugin ed attivarlo.

Poi, bisogno modificare il file js/shadyhotness.js:

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
27
28
29
30
31
32
33
34
35
Behaviour.register({
 
  '.PostContent img' : function(element) {
 
    var wrap1 = document.createElement("div");
 
    wrap1.className = "wrap1";
 
    wrap1.setAttribute("class", "wrap1");
 
    var wrap2 = document.createElement("div");
 
    wrap2.className = "wrap2";
 
    wrap2.setAttribute("class", "wrap2");
 
    var wrap3 = document.createElement("div");
 
    wrap3.className = "wrap3";
 
    wrap3.setAttribute("class", "wrap3");    var outerNode = element.parentNode;
 
    outerNode.insertBefore(wrap1, element);
 
    wrap1.appendChild(wrap2);
 
    wrap2.appendChild(wrap3);
 
    outerNode.removeChild(element);
 
    wrap3.appendChild(element);
 
  }
 
});

La riga incriminata è la 2, esattamente “.Postcontent img”, cioè tutte le immagini che sono dentro la classe .PostContent (che rispecchia il mio CSS), quindi cambiare “.Postcontent” con la tua classe CSS che racchiude i post.

Vi prometto che farò un interfaccina di amministrazione al più presto.

Il codice è stato preso da: http://sporkmonger.com/2006/01/15/the-shady-hotness

Il plugin utilizza lo script Behaviour.js. dove potete trovare tutta la documentazione.

Potete scaricare il plugin qui: wp-image-dropshadow.tar.gz

Attendo vostri feedback

Come realizzare un clone di Youtube in PHP

php-ffmpeg

Se vi siete mai chiesti come realizzare un clone di youtube totalmente in PHP (magari con Symfony), non vi resta che leggere quest’articolo da Vexxblog, che ci spiega passo passo come convertire e codificare i video nel blasonato formato FLV.

Il processo richiede alcuni passaggi, prima di tutto l’installazione del modulo ffmpeg-php, che farà tutto il lavoro sporco di conversione/codifica, passare il file in input (magari inviato da un utente appunto) allo script con php-ffmpeg e infine (ovviamente) salvare il file in formato FLV nel DB o su filesystem.

Putroppo gli script richiedono l’utilizzo della funzione exec(), che in molti shared hosting (buona pratica) è disabilitato, proprio per evitare spiacevoli situazioni e gli script come sono pubblicati non hanno un minimo controllo sugli errori.

Quando avrò un po di tempo, vedrò di riproporre lo stesso codice, ma come modulo Symfony, utilizzando al meglio le Best Practices.

Se volete dare un occhio al codice, andate qui.

Update: Ho trovato anche questa classe, completamente ad oggetti PHP5, direttamente la descrizione ufficiale:

This class is a wrapper around the ffmpeg program to manipulate and convert video files.

Currently it can perform several types of manipulation operations that include video format conversion, extract video frames into separate image files and assemble a video stream from a set of separate video images.

Several parameters can also be configured like the output video file format (which can be Flash video or any other supported by ffmpeg), video and audio bit rate and sample rate, video dimensions and aspect ratio.

Non l’ho ancora provata, ma ci farò un pensierino.

[Symfony]: YUI Tooltip helper

Avevo bisogno di una libreria solida che mi permettesse di avere dei tooltip e anche altri effetti javascript, era da tempo che volevo provare la YUI (Yahoo User Interface), una libreria immensa di codice, molto documentata e facile da utilizzare, cosi non ho perso tempo e ho creato subito un piccolo Helper per Symfony (si adoro questo framework ogni giorno di più)

Questo è il codice:

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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
 
_addYahooResources();
 
function tooltip($element_id, $text, $delay = 250, $options = array())
{
 
	$options['context'] = $element_id;
	$options['text'] = $text;
	$options['delay'] = $delay;
 
	$code = 'myTooltip = new YAHOO.widget.Tooltip("myTooltip",'._my_options_for_javascript($options).');';
 
	return javascript_tag($code);
}
 
function _addYahooResources()
{
	$response = sfContext::getInstance()->getResponse();
 
	/* Stylesheet */
        $response->addStylesheet('http://yui.yahooapis.com/2.3.0/build/container/assets/container.css');
 
	/* Javascript */
	$response->addJavascript('http://yui.yahooapis.com/2.3.0/build/yahoo-dom-event/yahoo-dom-event.js');
	$response->addJavascript('http://yui.yahooapis.com/2.3.0/build/animation/animation-min.js');
	$response->addJavascript('http://yui.yahooapis.com/2.3.0/build/container/container-min.js');
 
}
 
 function _my_options_for_javascript($options)
  {
    $opts = array();
    foreach ($options as $key => $value)
    {
      $value = '"'.$value.'"';
      $opts[] = "$key:$value";
    }
    sort($opts);
 
    return '{'.join(', ', $opts).'}';
  }

L’utilizzo è molto semplice, basta copiare questo helper in app/{APPLICAZIONE}/lib/helper/chiamalocomevuoiHelper.php

E poi chiamare la funzione quando ne avete bisogno nei template, in questo modo:

1
< ?php echo tooltip('id_elemento','testo'); ?>

L’helper supporta anche tutti i parametri della libreria originale, basta passarli in un array come terzo parametro.

Symfony si preoccuperà di caricare la libreria automaticamente, non vi resta che utilizzarla.

Per la documentazione del codice YUI Tooltip fate riferimento a questo sito:

http://developer.yahoo.com/yui/container/tooltip/ (documentazione ufficiale)

Per ora è tutto, ci sentiamo al prossimo helper ;)

Next Page →

  • Cerca


  • About me

    Benvenuto nel mio Blog, un piccolo spazio virtuale in continua evoluzione che mi permette di condividere con voi tutto ciò che ritengo interessante. Sentiti libero di esplorare liberamente ogni contenuto di questo sito. Se vuoi altre informazioni su di me, puoi scaricare qui il mio curriculum aggiornato. Oppure scrivimi

  • Iscriviti ai feed

  • Archivi