Quelqu'un peut-il recommander une bonne classe d'appel de PHP?php classe d'appel
J'ai cherché google, mais ne l'ai pas vu quelque chose qui correspond à mes besoins. Plutôt que de «rouler le mien» (et réinventant presque sûrement la roue), j'ai décidé de vérifier ici en premier.
Tout d'abord quelques arrière-plan:
Je développe un site Web en utilisant Symfony 1.3.2 Propel ORM sur Ubuntu 9.10. J'utilise actuellement le téléavertisseur Propel, qui est OK, mais j'ai récemment commencé à utiliser memcache pour accélérer les choses un peu. À ce stade, le pager Propel est peu utile, car il (AFAIK), ne fonctionne qu'avec des objets Propel.
Ce que je dois est une classe e: t répond aux requirents suivants
possède une interface propre, avec séparation des préoccupations, de sorte que la logique pour récupérer les enregistrements de la source de données (par exemple, base de données) est encapsulé dans une classe (ou au moins un fichier séparé).
peut travailler avec des tableaux d'objets
Fournit des liens de pagination, et va chercher uniquement les données nécessaires à la page en cours. En outre, la pagination devrait «séparer» les liens de page disponibles s'il y en a trop. Par exemple, s'il y a potentiellement 1000 liens de page possibles, les pages affichées doivent être quelque chose comme FIRST 2,3 .... 999 LAST
Peut renvoyer le numéro de tous les enregistrements de la table interrogée, afin que les liens suivants sont disponibles FIRST, LAST (cette exigence est en fait déjà couverte dans l'exigence précédente - mais je voulais juste la souligner de nouveau).
Quelqu'un peut-il recommander une telle bibliothèque, si elle l'a déjà utilisée avec succès?
Alternativement, someobe peut avoir « piraté » (par exemple dérivé) du pager courant Propel, pour lui faire faire des choses que j'énuméré à propos - s'il vous plaît laissez-moi savoir.
qu'est-ce qui ne va pas avec la classe 'sfPropelPager'? – develop7
@ develop7: Voir la condition 2 (spécifiquement, je veux travailler avec des objets qui peuvent ne pas être des objets Propel). Le problème est en fait lié à l'utilisation de memcache avec un pager. (AFAIK) sfPropelPager semble être incapable d'être fourni avec un ensemble d'objets (disons extraits du cache), puis de travailler avec ces objets à la place. –
Donc, vous voulez mettre en cache les objets hydratés? – develop7