Ci sono molti modi per ottimizzare la performance di un applicazione web, qui ne scrivo alcuni:
1) L’utilizzo di un sottodominio per i file statici. Suggerirei utilizzare un webserver come lighttpd oppure nginx in modo da ottenere una risposta ottimale (nella mia esperienza apache non è il massimo per questo tipo di utilizzo). Il Web Server dovrebbe essere installato su un server separato, se ciò non è possibile per vari motivi, si può installarlo su una porta diversa dal server principale.
2) Utilizzare cache control sui file statici per impostare la scadenza molto in la del tempo.
Dentro .htaccess
ExpiresDefault "modification plus 10 years"
ExpiresByType text/html "modification plus 1 minute"
Continua…
A volte può essere necessario centrare verticalmente ed orizzontalmente un elemento nella finestra del browser (per esempio dovevo centrare il loader di una chiamata ajax, elemento era bindato su ajaxstart() e ajaxstop()), e mentre per l’orientamento orizzontale non ci sono difficoltà (basta usare css, per es. margin: 0px auto), per quello verticale bisogna sudare un pochetto.
Dopo una veloce ricerca su internet mi sono imbattuto su questo articolo. Io ho aggiunto una leggera modifica, ed ecco il risultato:
Continua…
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…
Durante lo switch da Firefox a Google Chrome una delle funzionalità che mi mancavano è la possibilità di effettuare la sottoscrizione ad un feed rss cliccando sull’iconcina che compare nella barra degli indirizzi. Per fortuna questo si può risolvere semplicemente installando un estensione
Di default il report degli errori in magento 1.4 è disabilitato per motivi di sicurezza, per cui quando si verifica un errore viene restituito qualcosa del genere:
There has been an error processing your request
Exception printing is disabled by default for security reasons
Error log record number: 385579037
Per modificare questo comportamento si può creare file errors/local.xml e metterci dentro
<?xml version=”1.0″?>
<config>
<skin>default</skin>
<report>
<action>print</action>
<trash>delete</trash>
</report>
</config>
Le opzioni possibili:
- Action: può essere "print" oppure "email"
- Subject: il soggetto del messaggio nel caso in cui action è impostato su email
- Trash: può assumere due valori: "Leave" (mantiene gli errori in filesystem), "trash" (elimina il report)
Alcuni blog utili che parlano di Zend Framework
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());
}
}
Una breve guida per installazione di PHPUnit e WampServer.
1) Installate WampServer Al momento attuale ultima versione è 2.0i
2) Entrate in Console (con privilegi di amministratori se siete sotto vista/7) e digitate
cd C:\wamp\bin\php\php5.3.0
go-pear.bat
PEAR upgrade PEAR
Se vi viene restituito un errore di “signature” allora eseguite
php.exe -d phar.require_hash=0 PEAR/go-pear.phar
PEAR upgrade PEAR
Potete usare le impostazioni di default. In questo modo installate ed aggiornate Pear (senza aggiornamento, installazione di phpunit non va a buon fine)
Continua…