Salut,
perso, je n'irai surtout pas faire une "bibliothèque de requête": ça se scale très très mal ce genre de chose (= passé les 10 ou 20 pages, t'auras une biblio de 1000 requêtes abominablement ingérable, et tu ne sauras pas quelle requête est utilisé où et ce sera ingérable).
Pour ma part, tout est classé par page: chaque page (chaque URL) a un dossier correspondant dans l'arborescence des sources, qui contient les éléments de la page. Je peux donc faire Ctrl+Shift+F ("rechercher dans un dossier" sur intellij) pour trouver littéralement un élément.
Par exemple, varii.space/oc/map/viewsingle/ affiche les infos d'un oc [Objet Céleste] et correspond au dossier /sources/php/request/handler/oc/map/viewsingle/
Dans ce dossier se trouve 1 (et 1 seul) fichier PHP appelé au nom du dossier + Facade.php ("OcMapViewsingleFacade.php"). Dans ce fichier se trouve les classes nécessaires à la page (1 classe de façade OcMapViewsingleFacade par laquelle tous les appels extérieux passeront, une classe Handler correspondant au controleur, une classe ModelBean qui constitue le modèle de la page (donc, une classe avec des champs publics et 0 méthode), des classes ModelBean* [ModelBeanOc, ModelBeanOrbitships,...] qui correspondent à des sous-beans du modèle (= des bean donc des classes avec des champs publics et 0 méthode, et dont les instances sont les valeurs des champs du ModelBean), et éventuellement, une classe HtmlFormatter qui transforme le ModelBean en code HTML à renvoyer au client.
Dans ce dossier se trouvent aussi les fichiers CSS et JS (et éventuellement les images) spécifiques à la page (si c'est une page HTML qui en a besoin). Ils sont eux aussi nommés comme la facade, sans le Facade ("oc-map-viewsingle.css" "oc-map-viewsingle.js", mais je n'ai pas de règle pour les images)
Dans ce dossier se trouve enfin un fichier sql (oc_map_viewsingle.sql) qui définit une procédure stockée (oc_map_viewsingle) dont le rôle est l'aller récupérer toutes les données nécessaires à la page. Chacun des resultset retournés par la procédure est automatiquement mappé à un ModelBean*, permettant de remonter les données de la procédure à la page.
De cette manière, si je cherche un truc, je sais très souvent dans quelle page je le cherche, donc je sais dans quel dossier le cherche. Comme je sais aussi, généralement, le type de truc que je cherche (une classe CSS? une requête SQL? un code PHP?) alors je sais dans quel fichier il se trouve. Il n'y a plus qu'à aller le chercher dedans. Si je ne sais pas dans quelle page le truc se trouve, je le cherche dans tout le projet (c'est véloce chez IntelliJ, franchement bluffant; mais Netbeans ou Eclipse font sûrement pareil).
[Edit] J'ai présenté plus en avant mon archi dans un topic dédié, pour ne pas dériver celui-ci
perso, je n'irai surtout pas faire une "bibliothèque de requête": ça se scale très très mal ce genre de chose (= passé les 10 ou 20 pages, t'auras une biblio de 1000 requêtes abominablement ingérable, et tu ne sauras pas quelle requête est utilisé où et ce sera ingérable).
Pour ma part, tout est classé par page: chaque page (chaque URL) a un dossier correspondant dans l'arborescence des sources, qui contient les éléments de la page. Je peux donc faire Ctrl+Shift+F ("rechercher dans un dossier" sur intellij) pour trouver littéralement un élément.
Par exemple, varii.space/oc/map/viewsingle/ affiche les infos d'un oc [Objet Céleste] et correspond au dossier /sources/php/request/handler/oc/map/viewsingle/
Dans ce dossier se trouve 1 (et 1 seul) fichier PHP appelé au nom du dossier + Facade.php ("OcMapViewsingleFacade.php"). Dans ce fichier se trouve les classes nécessaires à la page (1 classe de façade OcMapViewsingleFacade par laquelle tous les appels extérieux passeront, une classe Handler correspondant au controleur, une classe ModelBean qui constitue le modèle de la page (donc, une classe avec des champs publics et 0 méthode), des classes ModelBean* [ModelBeanOc, ModelBeanOrbitships,...] qui correspondent à des sous-beans du modèle (= des bean donc des classes avec des champs publics et 0 méthode, et dont les instances sont les valeurs des champs du ModelBean), et éventuellement, une classe HtmlFormatter qui transforme le ModelBean en code HTML à renvoyer au client.
Dans ce dossier se trouvent aussi les fichiers CSS et JS (et éventuellement les images) spécifiques à la page (si c'est une page HTML qui en a besoin). Ils sont eux aussi nommés comme la facade, sans le Facade ("oc-map-viewsingle.css" "oc-map-viewsingle.js", mais je n'ai pas de règle pour les images)
Dans ce dossier se trouve enfin un fichier sql (oc_map_viewsingle.sql) qui définit une procédure stockée (oc_map_viewsingle) dont le rôle est l'aller récupérer toutes les données nécessaires à la page. Chacun des resultset retournés par la procédure est automatiquement mappé à un ModelBean*, permettant de remonter les données de la procédure à la page.
De cette manière, si je cherche un truc, je sais très souvent dans quelle page je le cherche, donc je sais dans quel dossier le cherche. Comme je sais aussi, généralement, le type de truc que je cherche (une classe CSS? une requête SQL? un code PHP?) alors je sais dans quel fichier il se trouve. Il n'y a plus qu'à aller le chercher dedans. Si je ne sais pas dans quelle page le truc se trouve, je le cherche dans tout le projet (c'est véloce chez IntelliJ, franchement bluffant; mais Netbeans ou Eclipse font sûrement pareil).
[Edit] J'ai présenté plus en avant mon archi dans un topic dédié, pour ne pas dériver celui-ci