Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1583 connectés 

 


Pour ou contre du changement sur le topic ?


 
35.7 %
 5 votes
1.  Oui, faq / bonnes pratiques + blabla@php
 
 
0.0 %
        0 vote
2.  Oui, blabla@php uniquement
 
 
7.1 %
 1 vote
3.  Ce topic mérite la poubelle. Pauvre poubelle
 
 
21.4 %
 3 votes
4.  Non, ce topic reste tel quel
 
 
35.7 %
 5 votes
5.  Obiwan n'aime pas le php
 

Total : 16 votes (2 votes blancs)
Ce sondage est clos, vous ne pouvez plus voter
 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  52  53  54  ..  66  67  68  69  70  71
Auteur Sujet :

blabla@php | faq et bonnes pratiques page 1

n°2158427
drasche
Posté le 27-09-2012 à 20:13:38  profilanswer
 

Reprise du message précédent :
 
C'est le genre de gars qui dit à son garagiste comment remplacer un phare? :D


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
mood
Publicité
Posté le 27-09-2012 à 20:13:38  profilanswer
 

n°2158648
Alekusu2
Posté le 30-09-2012 à 19:57:35  profilanswer
 

Question con :
 
en PHP, est-ce qu'en terme de temps d'accès à un fichier sur un serveur, il faut mieux organiser les fichiers, pour avoir 1000 fichiers dans 100 dossiers ou bien les 100 000 fichiers dans un unique dossier, ça ne changera rien ?


---------------
Ils ne sont grands que parce que nous sommes à genoux. - Topic Kingdom
n°2158651
flo850
moi je
Posté le 30-09-2012 à 20:49:20  profilanswer
 

reponse 1  
dans le cas 2 , la moindre maintenance  ( genre trouver un fichier ) deviendra longue et penible  
 
En bonus, ça simplifie largement la manip si tu veux distribuer tes fichiers sur plusieurs serveurs


---------------

n°2158652
Alekusu2
Posté le 30-09-2012 à 21:37:50  profilanswer
 

flo850 a écrit :

reponse 1  
dans le cas 2 , la moindre maintenance  ( genre trouver un fichier ) deviendra longue et penible  
 
En bonus, ça simplifie largement la manip si tu veux distribuer tes fichiers sur plusieurs serveurs


 
On a pas besoin de faire une maintenance manuelle dessus, tout est automatique, et on aura pas besoin de trouver un fichier.
Donc du coup est-ce qu'au niveau des perfs pures ça influence ?
 
Et j'ai pas compris pourquoi ça simplifie la manip si tu veux distribuer tes fichiers sur plusieurs serveurs ?


---------------
Ils ne sont grands que parce que nous sommes à genoux. - Topic Kingdom
n°2158653
flo850
moi je
Posté le 30-09-2012 à 21:41:51  profilanswer
 

1/ ça arrivera bien un jour ou l'autre , par exemple trouver un fichier foireux, vérolé, trop gros, ...  
 
 
2/ tu as 1000 dossiers par exemple  
au début il s'agit de dossiers sur le même serveur  
puis progressivement ces dossiers deviennnent des montages réseaux sur un autre serveur de ton infra de stockage (eventuellement des serveurs différents) . Tu coupes en deux, en déplacant 500 dossiers, puis au besoin tu recoupes
Avec un seul répertoire, c'est un poil plus complexe


---------------

n°2158655
Alekusu2
Posté le 30-09-2012 à 21:46:12  profilanswer
 

flo850 a écrit :

1/ ça arrivera bien un jour ou l'autre , par exemple trouver un fichier foireux, vérolé, trop gros, ...


 
Le nom de chaque fichier sera une ID unique (de 1.php à 999999999.php), du coup est-ce que c'est pas justement plus simple de le trouver dans un seul répertoire que dans 1000 ?
 

flo850 a écrit :


2/ tu as 1000 dossiers par exemple  
au début il s'agit de dossiers sur le même serveur  
puis progressivement ces dossiers deviennnent des montages réseaux sur un autre serveur de ton infra de stockage (eventuellement des serveurs différents) . Tu coupes en deux, en déplacant 500 dossiers, puis au besoin tu recoupes
Avec un seul répertoire, c'est un poil plus complexe


Ok je comprends l'argument sur le multi-serveur !
 
Mais (désolé d'insister sur le sujet :D), en terme uniquement de temps d'accès au fichier (par exemple via include()) ça change quelque chose ou pas ?


Message édité par Alekusu2 le 30-09-2012 à 22:00:55

---------------
Ils ne sont grands que parce que nous sommes à genoux. - Topic Kingdom
n°2158668
drasche
Posté le 01-10-2012 à 09:01:37  profilanswer
 

Tu fais peur. D'abord tu parles de fichiers, je pensais à une gestion de documentation ou quelque chose dans le genre. Puis juste après tu mentionnes include() :o


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°2158670
Alekusu2
Posté le 01-10-2012 à 09:20:00  profilanswer
 

drasche a écrit :

Tu fais peur. D'abord tu parles de fichiers, je pensais à une gestion de documentation ou quelque chose dans le genre. Puis juste après tu mentionnes include() :o


Justement pour préciser que ce n'était pas un gestion documentaire, mais que les fichiers allaient être appelés par d'autres fichiers, et toute la question qui m'intéresse c'est la différence de perf.
Ma question reste entière donc ;)


---------------
Ils ne sont grands que parce que nous sommes à genoux. - Topic Kingdom
n°2158671
flo850
moi je
Posté le 01-10-2012 à 09:22:52  profilanswer
 

100 000 fichiers avec des includes  
 
Détaille un peu plus ton usage, je sens que ça va être intéressant. J'imagine un système de cache avec des parties prégénérées ( mais dans ce cas là il est stupide de réinventer la roue )


---------------

n°2158675
Alekusu2
Posté le 01-10-2012 à 09:39:52  profilanswer
 

flo850 a écrit :

100 000 fichiers avec des includes  
 
Détaille un peu plus ton usage, je sens que ça va être intéressant. J'imagine un système de cache avec des parties prégénérées ( mais dans ce cas là il est stupide de réinventer la roue )


Mais pas du tout !
 
 
 [:vladvondrack]  
 [:bebe fraise]  
 
Ca réinvente peut être la roue mais c'est quelque chose d'assez simple : à chaque modif sur le BO ça regénère le fichier.  
J'ai toujours trouvé les systèmes de cache (genre smarty) bien relou. Mais tu pensais peut-être à autre chose.
 
(et ma question au fait :D)


---------------
Ils ne sont grands que parce que nous sommes à genoux. - Topic Kingdom
mood
Publicité
Posté le 01-10-2012 à 09:39:52  profilanswer
 

n°2158677
flo850
moi je
Posté le 01-10-2012 à 09:57:55  profilanswer
 

Je pensais plutôt à un truc genre https://www.varnish-cache.org/ et tu génère tes pages comme il faut avec des edge side include http://fr.wikipedia.org/wiki/Edge_Side_Includes / http://naholyr.fr/2011/03/varnish- [...] e-partiel/  
 
C'est un peu pénible a mettre en place à la main.  Des framework comme symfony 2 intègre ça de manière transparente. Par contre le gain en perf est juste  monstrueux si les données d'y pretent  bien ( coût de génération élevé , et relativement peu de changements)


---------------

n°2158694
Alekusu2
Posté le 01-10-2012 à 11:22:34  profilanswer
 

flo850 a écrit :

Je pensais plutôt à un truc genre https://www.varnish-cache.org/ et tu génère tes pages comme il faut avec des edge side include http://fr.wikipedia.org/wiki/Edge_Side_Includes / http://naholyr.fr/2011/03/varnish- [...] e-partiel/  
 
C'est un peu pénible a mettre en place à la main.  Des framework comme symfony 2 intègre ça de manière transparente. Par contre le gain en perf est juste  monstrueux si les données d'y pretent  bien ( coût de génération élevé , et relativement peu de changements)


 
Varnish j'avais essayé et j'avais trouvé ça super méga relou à mettre en place. Mais je vais approfondir ton lien.
Cela dit, le edge side include ça ressemble grosso modo à ce que je vais faire.
 
A noter que j'ai déjà une première couche de cache via un CDN. Donc le mix cache partiel comme je fais + cache CDN me parait être un bon compromis, non ? (avec une mise en place très rapide)
 
Mais tout ça ne répond pas à ma question initiale :D  
Est-ce que le temps d'appel à un fichier php par un autre fichier php changera si le fichier php appelé est dans un dossier avec 100 000 autres fichiers ou s'il est avec 1000 fichiers ?  


---------------
Ils ne sont grands que parce que nous sommes à genoux. - Topic Kingdom
n°2158695
flo850
moi je
Posté le 01-10-2012 à 11:36:11  profilanswer
 

Les ESI correspondent complètement. Si tu utilise une approche standardisé tu vas pouvoir capitaliser dessus et aller beaucoup plus loin que si tu bricole dans ton coin.

 

oui

 

Honnetement, je ne sais pas., par contre un dossier avec plusieurs centaines de milliers de fichiers ne me semble pas ne bonne idée.


Message édité par flo850 le 01-10-2012 à 11:36:42

---------------

n°2158700
drasche
Posté le 01-10-2012 à 11:46:36  profilanswer
 

Alekusu2 a écrit :


 
Varnish j'avais essayé et j'avais trouvé ça super méga relou à mettre en place. Mais je vais approfondir ton lien.
Cela dit, le edge side include ça ressemble grosso modo à ce que je vais faire.
 
A noter que j'ai déjà une première couche de cache via un CDN. Donc le mix cache partiel comme je fais + cache CDN me parait être un bon compromis, non ? (avec une mise en place très rapide)
 
Mais tout ça ne répond pas à ma question initiale :D  
Est-ce que le temps d'appel à un fichier php par un autre fichier php changera si le fichier php appelé est dans un dossier avec 100 000 autres fichiers ou s'il est avec 1000 fichiers ?  


Mais qu'est-ce que tu appelles relou? La facilité à l'utilisation? Parce que dis-toi bien que tu passeras plus de temps à implémenter ta solution qu'à reprendre une solution qui existe déjà.
 
Pour ta question initiale, on t'a répondu, ça dépend de l'OS et du système de fichiers derrière. Mais généralement, ça prend moins de temps de trouver un fichier dans une liste de 1000 que dans une liste de 100000.


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°2158705
Alekusu2
Posté le 01-10-2012 à 12:47:29  profilanswer
 

drasche a écrit :


Mais qu'est-ce que tu appelles relou? La facilité à l'utilisation? Parce que dis-toi bien que tu passeras plus de temps à implémenter ta solution qu'à reprendre une solution qui existe déjà.


 
Passer plus de temps ? Pas sur.
A partir d'un BO existant, coder juste le système qui génère la page est relativement simple/rapide. Et coté FO c'est juste un appel.


---------------
Ils ne sont grands que parce que nous sommes à genoux. - Topic Kingdom
n°2158709
drasche
Posté le 01-10-2012 à 13:50:36  profilanswer
 

Non mais je crois que tu sous-estimes la part maintenance/bugs à corriger :o (80% du temps dans un projet, et encore)


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°2158710
Alekusu2
Posté le 01-10-2012 à 14:40:23  profilanswer
 

drasche a écrit :

Non mais je crois que tu sous-estimes la part maintenance/bugs à corriger :o (80% du temps dans un projet, et encore)


Je ne sais pas, mais le système maison qu'on a développé y a 2ans, qui supporte pourtant des millions de pagevues, n'a nécessité aucune correction de bugs et quasi aucune maintenance :spamafote:
Peut-être que quand on reste dans des méthodes basiques de développement, c'est plus fiable finalement :D


---------------
Ils ne sont grands que parce que nous sommes à genoux. - Topic Kingdom
n°2158720
flo850
moi je
Posté le 01-10-2012 à 15:56:07  profilanswer
 

Et puis un jour tu vas devoir faire une restauration suite à un krash  
ou tu recevras une requête d'un juge pour supprimer un fichier  
J'ai déjà vécu les deux ( y compris le 1 dans un datacenter sécurisé  : http://www.pcinpact.com/news/27007 [...] Redbus.htm  et paf 3 disques d'une grappe raid qui sont mort )  
 
Et là tu seras content d'avoir un peu organisé les choses


---------------

n°2158772
Alekusu2
Posté le 01-10-2012 à 19:01:11  profilanswer
 

flo850 a écrit :

Et puis un jour tu vas devoir faire une restauration suite à un krash
ou tu recevras une requête d'un juge pour supprimer un fichier
J'ai déjà vécu les deux ( y compris le 1 dans un datacenter sécurisé  : http://www.pcinpact.com/news/27007 [...] Redbus.htm  et paf 3 disques d'une grappe raid qui sont mort )

 

Et là tu seras content d'avoir un peu organisé les choses


Pour le 1/ pas vraiment un souci, il suffira de régénérer les fichiers à partir de la BDD via le BO
Pour le 2/ si le juge me demande de supprimer telle page, je récup l'ID unique dans l'URL, je la balance dans le BO et je supprime la page correspondante. Ça me prendra moins d'une minute.


---------------
Ils ne sont grands que parce que nous sommes à genoux. - Topic Kingdom
n°2160022
Alekusu2
Posté le 12-10-2012 à 13:10:42  profilanswer
 

Comment faire en PHP, pour récupérer dans un texte, les liens <a href="lien">contenu</a> afin de récupérer le contenu de l'attribut href, de le modifier et de le renvoyer ?
 
La partie modifier/renvoyer me pose pas de problème, c'est la partie récupérer le href qui me pose des problèmes.


Message édité par Alekusu2 le 12-10-2012 à 13:15:16

---------------
Ils ne sont grands que parce que nous sommes à genoux. - Topic Kingdom
n°2160041
flo850
moi je
Posté le 12-10-2012 à 14:26:22  profilanswer
 

expression régulière ?  
'<a[^>]*href="[^"]+]"
 


---------------

n°2160065
Alekusu2
Posté le 12-10-2012 à 15:24:26  profilanswer
 

flo850 a écrit :

expression régulière ?  
'<a[^>]*href="[^"]+]"
 


avec un preg_replace ?


---------------
Ils ne sont grands que parce que nous sommes à genoux. - Topic Kingdom
n°2160067
FlorentG
Posté le 12-10-2012 à 15:34:55  profilanswer
 

flo850 a écrit :

expression régulière ?  
'<a[^>]*href="[^"]+]"


You can't parse [X]HTML with regex. [:petrus75]

n°2160079
masklinn
í dag viðrar vel til loftárása
Posté le 12-10-2012 à 15:57:04  profilanswer
 


C'est un problème si tu veux un truc propre ou correct. Si tu veux un truc dégueulasse (tu fais du PHP après tout) ça passera. Sinon tu utiliserais html5lib [:cosmoschtroumpf]


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2160088
flo850
moi je
Posté le 12-10-2012 à 16:19:02  profilanswer
 

pour ce genre de truc simple ça ne me semble un peu overkill d'utiliser html5lib  , mais bon

 

QUand il s'agit de récupérer un div avec son contenu, c'est effectivement un poil plus complexe


Message édité par flo850 le 12-10-2012 à 16:19:17

---------------

n°2160089
Alekusu2
Posté le 12-10-2012 à 16:23:53  profilanswer
 

Je vois pas trop pourquoi dans mon cas (pour récup le href) je ne pourrais pas utiliser de regex, j'ai beau lire l'article en lien je capte pas trop le souci :D


---------------
Ils ne sont grands que parce que nous sommes à genoux. - Topic Kingdom
n°2160092
flo850
moi je
Posté le 12-10-2012 à 16:28:21  profilanswer
 

ce genre de truc  
 
<a href="http://google.com?toto=\"qsomifmshf\""  >google</a>


---------------

n°2160095
Alekusu2
Posté le 12-10-2012 à 16:34:09  profilanswer
 

flo850 a écrit :

ce genre de truc  
 
<a href="http://google.com?toto=\"qsomifmshf\""  >google</a>


 
Ah mais dans moin cas le principe
 
c'est récup des URL qui seront du genre http://123
Et je dois remplacer le 123 (qui est une ID), par la vraie adresse de la page stockée en BDD.
C'est un outil coté BO pour éviter des soucis si les URLs changent un jour.


---------------
Ils ne sont grands que parce que nous sommes à genoux. - Topic Kingdom
n°2161087
flo850
moi je
Posté le 23-10-2012 à 14:22:21  profilanswer
 

Code :
  1. function test($value){
  2.    switch(true){
  3.        case 'first':
  4.            echo 'first';
  5.            break;
  6.        case true:
  7.            echo 'true';
  8.            break;
  9.        case false:
  10.            echo 'false';
  11.            break;
  12.        default:
  13.           echo 'none';
  14.    }
  15. }
  16.  
  17. test(true);
  18. test(false);
 

Resultat attendu


true
false

 


Résultat réel  


fisrt
false


 [:daaadou:1]

Message cité 1 fois
Message édité par flo850 le 23-10-2012 à 14:23:11

---------------

n°2161088
skeye
Posté le 23-10-2012 à 14:25:24  profilanswer
 

flo850 a écrit :

Code :
  1. function test($value){
  2.    switch(true){
  3.        case 'first':
  4.            echo 'first';
  5.            break;
  6.        case true:
  7.            echo 'true';
  8.            break;
  9.        case false:
  10.            echo 'false';
  11.            break;
  12.        default:
  13.           echo 'none';
  14.    }
  15. }
  16.  
  17. test(true);
  18. test(false);


 
Resultat attendu  


true
false


 
 
Résultat réel  


fisrt
false

 
 [:daaadou:1]


 
http://fr2.php.net/manual/en/contr [...] switch.php
 

Citation :

Note that switch/case does loose comparision.


 
PHP, what else? :D


---------------
Can't buy what I want because it's free -
n°2161089
flo850
moi je
Posté le 23-10-2012 à 14:33:19  profilanswer
 

Je sais  
J'ai toujours du mal à me faire à l'idée que ("first" == true ) retourne true


---------------

n°2161090
skeye
Posté le 23-10-2012 à 14:34:06  profilanswer
 

flo850 a écrit :

Je sais  
J'ai toujours du mal à me faire à l'idée que ("first" == true ) retourne true


C'est pas comme si tu avais débuté php hier, pourtant...:D


---------------
Can't buy what I want because it's free -
n°2161091
flo850
moi je
Posté le 23-10-2012 à 14:35:48  profilanswer
 

il y a des trucs comme ça  sur lesquels je reste bloqué

 

L'ordre des paramètre de in_array par exemple que je m'obstine à écrire à l'envers ( heureusement phpstorm me le signale), ou UPDATE en SQL que j'écris UDAPTE


Message édité par flo850 le 23-10-2012 à 14:36:14

---------------

n°2161116
TheCreator
zwiiiii and then shbrouk tak
Posté le 23-10-2012 à 17:47:47  profilanswer
 

d'ailleurs ya un moyen de forcer le switch à faire du strict?


---------------
La superstition c'est comme ceux qui réparent les fauteuils, il faut que le bois qu'ils rajoutent soit à peu près comme l'autre bois sinon ça se voit trop.
n°2161118
Ydalb
In Crêpes n' Cidre I Trust!
Posté le 23-10-2012 à 17:50:12  profilanswer
 

TheCreator a écrit :

d'ailleurs ya un moyen de forcer le switch à faire du strict?


 
T'es dans le web toi ? :o


---------------
:o
n°2161119
skeye
Posté le 23-10-2012 à 17:52:19  profilanswer
 

TheCreator a écrit :

d'ailleurs ya un moyen de forcer le switch à faire du strict?


Le remplacer par des if/else.


---------------
Can't buy what I want because it's free -
n°2161121
FlorentG
Posté le 23-10-2012 à 17:53:03  profilanswer
 

TheCreator a écrit :

d'ailleurs ya un moyen de forcer le switch à faire du strict?


Faudrait un

Code :
  1. real_switch($pouet) {
  2.   // [...]
  3. }


[:petrus75] [:petrus75] [:petrus75]

n°2161122
LeRiton
Posté le 23-10-2012 à 17:54:14  profilanswer
 

TheCreator a écrit :

d'ailleurs ya un moyen de forcer le switch à faire du strict?

 

Non :o (la seconde partie de la réponse est pas bonne note bien)

 
Spoiler :

[:hello_cass]


Message édité par LeRiton le 23-10-2012 à 17:56:12
n°2161123
flo850
moi je
Posté le 23-10-2012 à 17:59:41  profilanswer
 

FlorentG a écrit :


Faudrait un

Code :
  1. real_switch($pouet) {
  2.   // [...]
  3. }


[:petrus75] [:petrus75] [:petrus75]


  [:yann39]


Message édité par flo850 le 23-10-2012 à 18:00:01

---------------

n°2161124
masklinn
í dag viðrar vel til loftárása
Posté le 23-10-2012 à 18:19:16  profilanswer
 

FlorentG a écrit :


Faudrait un

Code :
  1. switch_real_escape_string($pouet) {
  2.   // [...]
  3. }


[:petrus75] [:petrus75] [:petrus75]


 [:aloy]
Mais connaissant les devs PHP, je vois plus un

Code :
  1. switch($pouet) {
  2.    case_real 'a': //
  3.    case_real 'b': //
  4. }


comme ça tu peux mixer case et case_real, et avoir un truc complètement stupide. En plus de cette manière case_real peut ne pas faire de fallthrough comme en C#

 

Et comme c'est PHP, il n'y aura pas non plus de fallthrough dans les case_real vides, et pour fixer le problème les labels des `case_real` deviendront aussi des target implicites de goto si ce sont des chaînes de caractères litérales et tu pourras faire:

Code :
  1. switch($pouet) {
  2.    case_real 'a': goto b
  3.    case_real 'b':
  4.        // code commun à 'a' et 'b'
  5. }


Message édité par masklinn le 23-10-2012 à 18:25:31

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  52  53  54  ..  66  67  68  69  70  71

Aller à :
Ajouter une réponse
 

Sujets relatifs
Problème pour une mise en page sous forme de tableauAfficher sur une page web directement le resultat d'une autre page web
[PHP] Fonction include plus rapide qu'un bout de code dans la page ?Ouvrir un fichier HTML en fin de page
[Résolu] Expirer la cache au niveau de la pageexecuter une page php sans rien afficher
inserer dans ma page wikiControler le changement de page
Certificat SSL a valider pour chaque élément de pageinstallé un mdp sur une page web avec Namo
Plus de sujets relatifs à : blabla@php | faq et bonnes pratiques page 1


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)