Home » PHP

Zend Loader sneller maken

9 April 2009 667 views No Comment

Als ik werk met het Zend framework om een website te maken gebruik ik meestal Zend_ Loader in combinative met de registerAutoload methode om mijn classes automatisch te laten laden wanneer ik ze nodig heb. Het voordeel hiervan is dat je jezelf niet meer druk moet maken over includes omdat de de Zend Loader dit allemaal voor jou doet.

De laatste tijd merkte ik dat die Zend Loader niet zo snel werkte en daarom ben ik eens naar de code gaan kijken van deze klasse. Ik merkte direct dat hier heel wat code uitgevoerd werd die ik niet nodig had. Ik denk hierbij aan securityCheck en dergelijken.

Om te testen heb ik eens een simpele autoloader geschreven die hetzelfde doet als Zend Loader maar dan zonder alle overbodige code. Deze autoloader ziet er als volgt uit.

0
1
2
3
// Autoload
function __autoload($class) {
require str_replace('_', '/', $class) . '.php';
}

Deze code heb ik bovenaan de bootstrap geplaatst.

Na wat testen kwam ik tot de conclusie dat mijn autoload zorgde voor een snelheidswinst van 34ms op een script dat gemiddeld 950ms nodig heeft voor uit te voeren. Dit wil dus zeggen een snelheidswinst van 3,5%. Dat is zeker niet slecht voor zo’n kleine aanpassing.

Wat je ook kan doen is een eigen klasse schrijven die overerft van Zend_Loader en vervolgens voeg je hieraan een methode autoload toe die de Zend_Loader autoload overschrijft. Dit is natuurlijk een iets properdere manier dan die ik hier juist heb uitgelegd.

Voor mij in het vervolg dus geen Zend_Loader meer.

Dit artikel delen:  Plaatsen/stemmen op NUjij Plaatsen/stemmen op eKudos Plaatsen/stemmen op MSN Reporter Plaatsen/stemmen op Bligg.nl Plaatsen/stemmen op MSN Reporter Plaatsen/stemmen op Bligg.be Plaatsen/stemmen op Netjes.be Plaatsen/stemmen op Digg Stumble it! Voeg dit artikel toe aan Del.icio.us Toevoegen aan Furl Voeg toe aan je favorieten op Technorati Voeg toe aan je Google bladwijzers Voeg toe aan je Facebook-profiel Abonneer je op de RSS-feed van deze site Plaats dit bericht op Twitter
Stuur artikel naar een vriend
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...


Leave your response!

Add your comment below, or trackback from your own site. You can also subscribe to these comments via RSS.

Be nice. Keep it clean. Stay on topic. No spam.

You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="">

This is a Gravatar-enabled weblog. To get your own globally-recognized-avatar, please register at Gravatar.


Fatal error: Cannot redeclare class Visitorsonline in /home/computerfaq/computerfaq.be/visitorsonline.php on line 11