 |
|
Sommaire
Disposition du code source
Convention des extensions
Macros
Memory Management
Fonctions de dossiers et fichiers
Gestion des chaînes de caractères
Types complexes
|
7.4.3 Memory Management
La gestion des ressources est primordiale, surtout sur un serveur
logiciel. Une des ressources les plus précieuses et la mémoire,
et la gestion de la mémoire doit être faite avec beaucoup de soin.
Elle a été partiellement automatisée dans le moteur Zend, et
vous devez utiliser ces outils pour deux raisons : étant donné
le système automatique, Zend a le contrôle total de la mémoire.
Zend est capable de déterminer si un bloc de mémoire est actuellement
utilisé, de libérer les ressources inutilisées, ou les blocs
sans référence. Tout cela évite des fuites de mémoire. Les fonctions
qui peuvent être utilisées sont listées dans cette table :
emalloc,
estrdup, estrndup,
ecalloc, et erealloc
alloue de la mémoire interne. efree libère
les blocs alloués de la mémoire. La mémoire gérée par les fonctions
e* est considérée comme locale au processus
courant, et supprimée aussitôt que le script est terminé.
Attention |
Pour allouer de la mémoire résident, qui survivra à la fin
du script, vous pouvez utiliser malloc et
free. Toute fois, cela doit se faire avec
une extrême prudence, et uniquement en conjonction avec un
appel à l'API Zend. Sinon, vous risquez la fuite mémoire.
|
Zend fournit aussi un gestionnaire de ressource, compatible avec
les threads, pour fournir un meilleur support des serveurs
web multi-thread. Cela vous demande d'allouer des structures
locales pour toutes vos variables globales, pour permettre
aux threads concurents d'être exécutés. Comme le support des
thread n'était pas fini lors de la rédaction de ce guide, nous
ne nous y attarderons pas.
|
|
 |
 |