{"id":2024,"date":"2005-08-14T14:35:02","date_gmt":"2005-08-14T14:35:02","guid":{"rendered":"http:\/\/svay.com\/blog\/?p=2024"},"modified":"2005-08-14T14:35:02","modified_gmt":"2005-08-14T14:35:02","slug":"289-organiser-ses-classes-en-php","status":"publish","type":"post","link":"https:\/\/svay.com\/blog\/289-organiser-ses-classes-en-php\/","title":{"rendered":"Organiser ses classes en PHP"},"content":{"rendered":"<p>Alors que je fais la migration de mon site, je me rends compte que cela prend du temps, trop de temps, quand on sait qu&#8217;il n&#8217;y a que quelques m\u00e9ga-octets. C&#8217;est vrai que ma connexion <acronym>ADSL<\/acronym> n&#8217;est pas des plus rapides (je n&#8217;ai pas la chance d&#8217;habiter une grande ville d\u00e9group\u00e9e) mais cette lenteur est essentiellement d\u00fbe \u00e0 la quantit\u00e9 de petits fichiers: fichiers de configuration, fichiers de <em>localisation<\/em>, fichiers pour les biblioth\u00e8ques, fichiers de cache, etc. On atteint rapidement un nombre de fichiers \u00e0 4 voire 5 chiffres. Cela en fait des requ\u00eates <acronym title=\"File Transfer Protocol\">FTP<\/acronym> lors d&#8217;une migration vers un autre serveur ou pour une sauvegarde tout simplement.<\/p>\n<p><!--more--><\/p>\n<p>La solution id\u00e9ale serait de faire une archive <code>tar<\/code> du site entier pour la t\u00e9l\u00e9charger ensuite mais sur la majorit\u00e9 des h\u00e9bergements mutualis\u00e9s il n&#8217;est pas envisageable d&#8217;avoir acc\u00e8s \u00e0 un shell.<\/p>\n<p>Et l\u00e0 je me dis que ce serait bien si les applications r\u00e9duisaient un peu le nombre de fichiers. Dans des applications courantes en PHP, on retrouve souvent le paradigme venant de Java o\u00f9 une classe correspond \u00e0 un fichier (m\u00eame si on peut faire le contraire) alors qu&#8217;on pourrait facilement grouper plusieurs classes dans un seul fichier lorsqu&#8217;elles sont li\u00e9es. On \u00e9vite par la m\u00eame occasion le nombre d&#8217;acc\u00e8s au syst\u00e8me de fichiers comme l&#8217;\u00e9voque Michael J. Radwin lors <a href=\"http:\/\/public.yahoo.com\/~radwin\/talks\/one-year-of-php-oscon2003.htm\" hreflang=\"en\">du petit bilan qu&#8217;il fait apr\u00e8s un an de PHP chez Yahoo!<\/a>.<\/p>\n<p>Pour le moment j&#8217;y vois des avantages pour la redistribution et la sauvegarde d&#8217;une application mais cela doit s\u00fbrement avoir une contrepartie pour les d\u00e9veloppeurs. Il peut alors devenir plus compliqu\u00e9 de travailler \u00e0 plusieurs ou tout simplement de s&#8217;y retrouver dans du code plus long dans un m\u00eame fichier. Mais je me dis que finalement, c&#8217;est pour l&#8217;utilisateur qu&#8217;on travaille, alors on peut bien faire quelques concessions.<\/p>\n<p>La solution qui pourrait \u00eatre satisfaisante pour tout le monde serait que la r\u00e9duction du nombre de fichiers soit automatis\u00e9e. Une piste \u00e0 creuser, qu&#8217;en pensez-vous&nbsp;?<\/p>\n<p>(au passage, si vous lisez ces lignes, c&#8217;est que vous \u00eates sur le nouveau serveur)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Alors que je fais la migration de mon site, je me rends compte que cela prend du temps, trop de temps, quand on sait qu&#8217;il n&#8217;y a que quelques m\u00e9ga-octets. C&#8217;est vrai que ma connexion <acronym>ADSL<\/acronym> n&#8217;est pas des plus rapides (je n&#8217;ai pas la chance d&#8217;habiter une grande ville d\u00e9group\u00e9e) mais cette lenteur est essentiellement d\u00fbe \u00e0 la quantit\u00e9 de petits fichiers: fichiers de configuration, fichiers de <em>localisation<\/em>, fichiers pour les biblioth\u00e8ques, fichiers de cache, etc. On atteint rapidement un nombre de fichiers \u00e0 4 voire 5 chiffres. Cela en fait des requ\u00eates <acronym title=\"File Transfer Protocol\">FTP<\/acronym> lors d&#8217;une migration vers un autre serveur ou pour une sauvegarde tout simplement.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[26],"tags":[],"_links":{"self":[{"href":"https:\/\/svay.com\/blog\/wp-json\/wp\/v2\/posts\/2024"}],"collection":[{"href":"https:\/\/svay.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/svay.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/svay.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/svay.com\/blog\/wp-json\/wp\/v2\/comments?post=2024"}],"version-history":[{"count":1,"href":"https:\/\/svay.com\/blog\/wp-json\/wp\/v2\/posts\/2024\/revisions"}],"predecessor-version":[{"id":2463,"href":"https:\/\/svay.com\/blog\/wp-json\/wp\/v2\/posts\/2024\/revisions\/2463"}],"wp:attachment":[{"href":"https:\/\/svay.com\/blog\/wp-json\/wp\/v2\/media?parent=2024"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/svay.com\/blog\/wp-json\/wp\/v2\/categories?post=2024"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/svay.com\/blog\/wp-json\/wp\/v2\/tags?post=2024"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}