viernes, 17 de mayo de 2013

Silex Microframework, jQuery.ajaxPrefilter

Silex

Silex es un microframework para PHP, al estilo de sinatra, y sobre los hombros de Symfony2.

La idea es facilitar la escritura de servicios, es decir urls que devuelvan json.

Para probarlo rápidamente:
  • Descomprimir el zip descargado de http://silex.sensiolabs.org/download. Se obtendra el directorio silex, que se puede renombrar si se desea. Para la prueba, se puede dejar igual.
  • Configurar el rewrite para el directorio silex/web. Si se usa Apache, verificar que contenga un archivo .htaccess con el siguiente contenido (tal como se indica en http://silex.sensiolabs.org/doc/web_servers.html):

    <IfModule mod_rewrite.c>
        Options -MultiViews
    
        RewriteEngine On
        #RewriteBase /path/to/app
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^ index.php [QSA,L]
    </IfModule>
    
    
  • Acceder a la página, por ejemplo: http://localhost/silex/web/hello
    Aparecerá el mensaje 'Hello', definido en silex/web/index.php:

    <?php
    require_once __DIR__.'/../vendor/autoload.php';
    
    $app = new Silex\Application();
    
    $app->get('/hello/{name}', function ($name) use ($app) {
        return 'Hello '.$app->escape($name);
    });
    
    $app->run();

jQuery.ajaxPrefilter()

Permite alterar el comportamiento por default de jQuery.ajax(). Por ejemplo, el siguiente código permite modificar el url para que agregue un prefijo a los url que se le pasen:

$.ajaxPrefilter(function(options, originalOptions, jqXHR) {
  options.url = 'http://backbonejs-beginner.herokuapp.com' + options.url;
});