Posts Tagged "zend"

Disabilitare Zend Layout ed il rendering di Zend View in tutto controller

class CronController extends Zend_Controller_Action
{
    public function preDispatch()
    {
        $this->_helper->layout()->disableLayout();
        $this->_helper->viewRenderer->setNoRender(true);
    }
}

Utilizzare smtp di Gmail con Zend_Mail

Ultimamente sto sviluppando sempre più spesso in locale sul mio netbook il che ha comportato la scelta di wamp come piattaforma di sviluppo.

La configurazione attuale mi permette di far fronte a tutte le mie necessità (phpunit, xdebug, php debug di phped, etc), ad eccezione di un piccolo particolare: email. Siccome non ho nessuna voglia di installare un server di posta elettronica in locale (e a dir verò non ne vedo alcuna necessità) ho dovuto trovare il modo di configurare la mia applicazione zend in modo da poter usare smtp del mio account su google.

Ecco come si può procedere:

Continua…

Zend Framework Blogs

Alcuni blog utili che parlano di Zend Framework

Alcune note sul bootstrapping dei moduli sotto ZF

Appunti presi dopo la lettura di questo post

In particolare: se ci sono delle funzionalità che devono essere chiamate solo a condizione che il modulo partecipa attivamente nella richiesta, allora conviene metterli all’interno dei plugin di front controller oppure dentro gli action helper.

Se si sceglie la prima strada, un posto buono potrebbe essere rappresentato dai hook routeShutdown() oppure dispatchLoopStartup(). Basta semplicemente verificare che il modulo dentro la richiesta corrisponde a quello su cui deve essere esguita l’azione richiesta.

class Foomodule_Plugin_Layout extends Zend_Controller_Plugin_Abstract
{
    public function dispatchLoopStartup(Zend_Controller_Request_Abstract $request)
    {
        if ('foomodule' != $request->getModuleName()) {
            // If not in this module, return early
            return;
        }

        // Change layout
        Zend_Layout::getMvcInstance()->setLayout('foomodule');
    }
}
class Foomodule_Boootstrap extends Zend_Application_Module_Bootstrap
{
    protected function _initPlugins()
    {
        $bootstrap = $this->getApplication();
        $bootstrap->bootstrap('frontcontroller');
        $front = $bootstrap->getResource('frontcontroller');

        $front->registerPlugin(new Foomodule_Plugin_Layout());
    }
}

Ritrovare l’istanza di Front Controller (e router)

$router = Zend_Controller_Front::getInstance()->getRouter();

Uso di Zend_Route Regex con Zend_Config

Un piccolo snipplet:
in bootstrap.php

   /**
    * Inizializzazione dei routes
    *
    */
    protected function _initRoutes(){
        $this->_logger->info('Bootstrap ' . __METHOD__);
        $config = new Zend_Config_Ini(APPLICATION_PATH . '/configs/routes.ini', 'production');
        $router = $this->getResource('frontController')->getRouter();
        $router->addConfig($config, 'routes');
    }

In routes.ini

[production]
routes.circolari.type = "Zend_Controller_Router_Route_Regex"
routes.circolari.route = "circolari/(.*)"
routes.circolari.defaults.controller = circolari
routes.circolari.defaults.action = index
routes.circolari.map.titololink = 1
routes.circolari.reverse = "/circolari/%s";

Parametri di configurazione di Zend sotto Lighttpd

Parametri per url rewrite sotto lighttpd

url.rewrite-once = (
    ".*\?(.*)$" => "/index.php?$1",
    ".*\.(js|ico|gif|jpg|png|swf|css|html)$" => "$0",
    "" => "/index.php"
)

Per aggiungere la compressione

#### compress module
compress.cache-dir         = "/var/cache/lighttpd/compress/"
compress.filetype          = ("text/plain", "text/html", "text/css", "text/javascript")