Admin Generator: definire la action principale

Per definire la action principale in una applicazione Symfony, generata con l’Admin Generator occorre modificare il file di configurazione di routing routing.yml.
Nel file:
apps/backend/config/routing.yml
Modificare e/o aggiungere la sezione homepage:

homepage:
  url:   /
  param: { module: events, action: index }

Dove in questo esempio:

  • backend: è il nome dell’applicazione genarata con l’admin generator;
  • events: è il nome del modulo principale;
  • index: è il nome della action di default.

Infine eliminare la cache affinchè le modifiche risultino attive:

php symfony cc
Annunci

Youtube e la geolocalizzazione dei video

Google Data API

Youtube Google Data API

Youtube Google Data API

Google fornisce all’utente Web una enorme quantità di servizi quali gestione dei documenti, calendario, mappe. Questi servizi sono fruibili dall’utente finale tramite il proprio Browser Web. Per quanto riguarda gli sviluppatori, Google espone questi servizi in diversi formati:

  • Atom: utilizza il formato Atom per la rappresentazione dei dati e il protocollo HTTP per veicolare l’informazione;
  • JSON: utilizza il formato JSON per la rappresentazione dei dati e il protocollo HTTP per veicolare l’informazione.

In questo modo uno sviluppatore è nelle condizioni di integrare le informazioni gestite dai vari servizi Google nelle proprie applicazioni (Web e/o Desktop).
Le regole da seguire per la gestione di questa comunicazione (interrogazione dei dati, modifica dei dati eccetera) sono definite da un protocollo (fornito da Google), il Google Data Protocol.
Nel dettaglio questo protocollo indica al programmatore come richiamare i servizi (HTTP) e come gestire le risposte dal servizio (XML, JSON).

Quali A.P.I. sono disponibili?

Google mette a disposizione la API Directory nella quale sono elencati tutti i servizi disponibili. Per ciascuna API è presente un link alla guida, e link a Librerie Client.
Le librerie client sono disponibili per ciascuna API in differenti linguaggi di programmazione. Le librerie client forniscono un utile livello di astrazione che facilita la vita al programmatore che non deve occuparsi di gestire le richieste HTTP e le risposte XML/JSON.

YouTube Data API

Le YouTube Data API permettono di integrare le funzionalità offerte da Youtube nel proprio sito Web.
Per i programmatori PHP esiste una ottima guida che illustra come usufruire di ogni singola funzionalità tramite il proprio linguaggio di sviluppo.

PHP e YouTube in Azione

Una ottima libreria PHP client per YouTube è Zend Gdata.Dalla pagina di Zend Gdata è possibile scaricare l’ultima versione della libreria e accedere alla documentazione specifica.

Download Zend Gdata

Scaricare l’ultima versione dal sito:
http://framework.zend.com/download/gdata/
Estrarre l’archivio, ottenendo così 4 directory: demo, documentation, library, tests.
Copiare la directory library nella directory di lavoro. La directory di lavoro conterrà i sorgenti creati e dovrà essere “visibile” al Web Server.
Creare un file (index.php) nella directory di lavoro:

<?php
$clientLibraryPath = 'library';
$oldPath = set_include_path(get_include_path() . PATH_SEPARATOR . $clientLibraryPath);
require_once 'Zend/Loader.php';
Zend_Loader::loadClass('Zend_Gdata_YouTube');
$yt = new Zend_Gdata_YouTube();
$query = $yt->newVideoQuery();
$query->setLocation("45.8529825,9.3900705");
$query->setLocationRadius("5km");
echo $query->queryUrl . "\n";
$videoFeed = $yt->getVideoFeed($query);
$i=0;
foreach ($videoFeed as $videoEntry) {
echo $i++;
echo "---------VIDEO----------<br>";
echo "Title: " . $videoEntry->getVideoTitle() . "<br>";
echo "<img src=\"".$videoEntry->mediaGroup->thumbnail[0]->url."\"><br>";
echo "\nDescription:\n";
echo $videoEntry->getVideoDescription();
echo "<br><hr>";
}

Nel dettaglio, occorre inizializzare l’ambiente in modo che la libreria Zend Gdata sia visibile allo script:

$clientLibraryPath = 'library';
$oldPath = set_include_path(get_include_path() . PATH_SEPARATOR . $clientLibraryPath);
require_once 'Zend/Loader.php';
Zend_Loader::loadClass('Zend_Gdata_YouTube');

Per poter definire i parametri di ricerca utilizzare l’oggetto VideoQuery:

$query = $yt->newVideoQuery();
$query->setLocation("45.8529825,9.3900705");
$query->setLocationRadius("5km");

In questo specifico caso, il metodo setLocation serve per definire la latitudine e longitudine dei video geolocalizzati che si vogliono ricercare e il metodo setLocationradius serve per definire l’area (5 kilometri) di ricerca.
Per ottenere l’elenco dei video è sufficiente utilizzare il metodo getVideoFeed:

$videoFeed = $yt->getVideoFeed($query);

Installare memcache su Server mediatemple

Per installare memcache sui server di mediatemple seguire questo tutorial:
http://kb.mediatemple.net/questions/1693/Installing+memcached

Installare memcache con MAMP (MacOSX)

Ecco un link che spiega come abilitare memcache su sistemi MacOSX con MAMP
http://stackoverflow.com/questions/1879480/mamp-how-to-install-memcached

Date Time Picker per jquery

Ecco un buon widget ( datetime picker) per jQuery:
http://milesich.com/timepicker/

[symfony] formattare una data

Nella view è possibile gestire il formato delle date tramite la funzione format_date.
Esempio:

format_date($events->getApprovedAt(), "D");

Dato che tale funzione è fornita dell’helper Date, occorre inserire in cima al file di template (xxxSuccess.php) l’inclusione di tale helper:

use_helper("Date");
%d blogger hanno fatto clic su Mi Piace per questo: