par
Hubert Roksor » 23 août 2006, 13:12
À priori, fky n'a pas envie d'utiliser SHM (et on le comprend

) mais pour la sérialisation je ne vois pas comment l'éviter. Au mieux, tu peux utiliser
APC pour sauvegarder tes objets en mémoire (la sérialisation est automatique, mais si tu as des ressources sauvegardées dans l'objet tu auras besoin d'une
fonction __sleep() et __wakeup().
Dans tous les cas, ne perds pas de vue que
ton objectif n'est pas de créer des objets partagés, c'est d'accélérer ton application. Mon conseil serait de ne pas essayer du tout (parce que tu vas beaucoup t'embêter et à la fin la solution ne sera même pas stable) et chercher un moyen similaire d'optimiser la vitesse de ton application. Par exemple, plutôt que de créer des machins globaux (qui seraient lents à manipuler, btw) tu pourrais créer une classe qui te renvoit une copie de l'objet, elle-même tirée du cache ou régénérée dynamiquement.
À priori, fky n'a pas envie d'utiliser SHM (et on le comprend ;)) mais pour la sérialisation je ne vois pas comment l'éviter. Au mieux, tu peux utiliser [url=http://php.net/APC]APC[/url] pour sauvegarder tes objets en mémoire (la sérialisation est automatique, mais si tu as des ressources sauvegardées dans l'objet tu auras besoin d'une [url=http://php.net/oop5.magic]fonction __sleep() et __wakeup()[/url].
Dans tous les cas, ne perds pas de vue que [b]ton objectif n'est pas de créer des objets partagés[/b], c'est d'accélérer ton application. Mon conseil serait de ne pas essayer du tout (parce que tu vas beaucoup t'embêter et à la fin la solution ne sera même pas stable) et chercher un moyen similaire d'optimiser la vitesse de ton application. Par exemple, plutôt que de créer des machins globaux (qui seraient lents à manipuler, btw) tu pourrais créer une classe qui te renvoit une copie de l'objet, elle-même tirée du cache ou régénérée dynamiquement.