|
nicolas2 577
| Posté : 19-11-2020 12:20
pour info : limite actuel a 8 arguments sur l'appel d'une function
// En fonction du nombre de params de la fonction : limite actuelle : 8
if (function_exists($contentII))
{
switch(count($prm))
{
case 1:
$contentII($prm[0]); break;
case 2:
$contentII($prm[0],$prm[1]); break;
case 3:
$contentII($prm[0],$prm[1],$prm[2]); break;
case 4:
$contentII($prm[0],$prm[1],$prm[2],$prm[3]); brea k;
case 5:
$contentII($prm[0],$prm[1],$prm[2],$prm[3],$prm[4 ]); break;
case 6:
$contentII($prm[0],$prm[1],$prm[2],$prm[3],$prm[4 ],$prm[5]); break;
case 7:
$contentII($prm[0],$prm[1],$prm[2],$prm[3],$prm[4 ],$prm[5],$prm[6]); break;
case 8:
$contentII($prm[0],$prm[1],$prm[2],$prm[3],$prm[4 ],$prm[5],$prm[6],$prm[7]); break;
}
return (true);
}
else
{
return (false);
}
a remplacer par
// En fonction du nombre de params de la fonction : plus de l imite d'arguments
if (function_exists($contentII))
{
call_user_func_array($contentII,$prm);
return (true);
}
else
{
return (false);
}
plus de limite d'argument! function block_fonction($title, $contentX) dans le mainfile.php
idem pour
if (function_exists($contentY))
  ; {
  ; $contentY();
  ; return (true);
  ; }
  ; else
  ; {
  ; return (false);
  ; }
par
if (function_exists($contentY))
  ; {
  ; call_user_func($contentY);
  ; return (true);
  ; }
  ; else
  ; {
  ; return (false);
  ; }
Message édité par : nicolas2 / 19-11-2020 12:48 |  Profil E-mail
|
|
nicolas2 577
| |
nicolas2 577
| |
Jireck 8502
| Posté : 19-11-2020 15:46
Bravo et gain
preg_replace: 0.0252 seconds.
str_replace: 0.0541 seconds.
en version php7 bien sur
en PHP5.6
preg_replace: 0.0346 seconds
str_replace: 0.0201 seconds
|  Profil
|
|
jpb 2791
| Posté : 19-11-2020 21:04
Citation : nicolas2
pour info : limite actuel a 8 arguments sur l'appel d'une function
// En fonction du nombre de params de la fonction : limite actuelle : 8
if (function_exists($contentII))
{
switch(count($prm))
{
case 1:
$contentII($prm[0]); break;
case 2:
$contentII($prm[0],$prm[1]); break;
case 3:
$contentII($prm[0],$prm[1],$prm[2]); break;
case 4:
$contentII($prm[0],$prm[1],$prm[2],$prm[3]); brea k;
case 5:
$contentII($prm[0],$prm[1],$prm[2],$prm[3],$prm[4 ]); break;
case 6:
$contentII($prm[0],$prm[1],$prm[2],$prm[3],$prm[4 ],$prm[5]); break;
case 7:
$contentII($prm[0],$prm[1],$prm[2],$prm[3],$prm[4 ],$prm[5],$prm[6]); break;
case 8:
$contentII($prm[0],$prm[1],$prm[2],$prm[3],$prm[4 ],$prm[5],$prm[6],$prm[7]); break;
}
return (true);
}
else
{
return (false);
}
a remplacer par
// En fonction du nombre de params de la fonction : plus de l imite d'arguments
if (function_exists($contentII))
{
call_user_func_array($contentII,$prm);
return (true);
}
else
{
return (false);
}
plus de limite d'argument! function block_fonction($title, $contentX) dans le mainfile.php
idem pour
if (function_exists($contentY))
{
$contentY();
return (true);
}
else
{
return (false);
}
par
if (function_exists($contentY))
{
call_user_func($contentY);
return (true);
}
else
{
return (false);
}
Message édité par : nicolas2 / 19-11-2020 12:48
Pour cette modif il faut vraiment la tester !
Est on sur que le moteur metalang suit ? Faudrait que dev regarde ça ! ...
|  Profil www
|
|
jpb 2791
| Posté : 19-11-2020 21:07
Citation : nicolas2
le remplacement des br, BR
$contentX = str_replace(' ', '', $contentX);
$contentX = str_replace(' ', '', $contentX);
$contentX = str_replace(' ', '', $contentX);
par
$contentX = preg_replace('/(
ce qui remplace tout les
< BR /> par \n
Message édité par : nicolas2 / 19-11-2020 13:28
==> je vais tester ça sur le labo un flag i raccourcirai un peu plus l'expression régulière ???
|  Profil www
|
|
nicolas2 577
| |
jpb 2791
| Posté : 20-11-2020 09:37
oui je suis tout à fait d'accord metalang est très fastidieux à maintenir ! ....
ce que je voulais dire c'est que je ne sais pas si la limite d'arguments à 8 est intentionelle (pour des raisons que j'ignore...) ou pas ?....tu as une idée ?
dev ???????? |  Profil www
|
|
Jireck 8502
| Posté : 20-11-2020 10:07
Je donne mon avis.
Je pense que, et c'est vrai pour moi, j'ai rarement voir jamais créer de fonction qui utilise plus de 8 arguments.
c'est plus une limite qu'on se donne
|  Profil
|
|
nicolas2 577
| Posté : 20-11-2020 10:15
effectivement c'est plus une limite qui et fixer a 8, dans le core de npds il n'y a pas de function a plus de 8 arguments.
juste proposer cette option qui ne donne plus de l'imite sur des arguments, après a prendre ou a virer ! |  Profil E-mail
|
|