Salut chers WRInautes, je me demande juste si c'est problématique de faire @include $file ? est-ce plus lent que if(is_file($file)) include $file; ? vous en pensez quoi ?
Je viens de faire le test: PHP: <span class="syntaxdefault"><br /></span><span class="syntaxkeyword"><?</span><span class="syntaxdefault">php<br />echo </span><span class="syntaxstring">'@include:<br />'</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxdefault">$start </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> microtime</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">true</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">for </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$i </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> 0</span><span class="syntaxkeyword">;</span><span class="syntaxdefault"> $i </span><span class="syntaxkeyword"><</span><span class="syntaxdefault"> 1000</span><span class="syntaxkeyword">;</span><span class="syntaxdefault"> $i</span><span class="syntaxkeyword">++)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">@include(</span><span class="syntaxstring">'hello.php'</span><span class="syntaxkeyword">);<br />}<br /></span><span class="syntaxdefault">$end </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> microtime</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">true</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">$time </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $end </span><span class="syntaxkeyword">-</span><span class="syntaxdefault"> $start</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">echo </span><span class="syntaxstring">'Temps avec fichier include existant: '</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$time</span><span class="syntaxkeyword">.</span><span class="syntaxstring">'<br />'</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxdefault">$start </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> microtime</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">true</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">for </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$i </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> 0</span><span class="syntaxkeyword">;</span><span class="syntaxdefault"> $i </span><span class="syntaxkeyword"><</span><span class="syntaxdefault"> 1000</span><span class="syntaxkeyword">;</span><span class="syntaxdefault"> $i</span><span class="syntaxkeyword">++)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">@include(</span><span class="syntaxstring">'hello.bat'</span><span class="syntaxkeyword">);<br />}<br /></span><span class="syntaxdefault">$end </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> microtime</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">true</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">$time </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $end </span><span class="syntaxkeyword">-</span><span class="syntaxdefault"> $start</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">echo </span><span class="syntaxstring">'Temps avec fichier include inexistant: '</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$time</span><span class="syntaxkeyword">.</span><span class="syntaxstring">'<br />'</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxdefault">echo </span><span class="syntaxstring">'is_file/include:<br />'</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">$start </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> microtime</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">true</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">for </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$i </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> 0</span><span class="syntaxkeyword">;</span><span class="syntaxdefault"> $i </span><span class="syntaxkeyword"><</span><span class="syntaxdefault"> 1000</span><span class="syntaxkeyword">;</span><span class="syntaxdefault"> $i</span><span class="syntaxkeyword">++)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault"> if</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">is_file</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'hello.php'</span><span class="syntaxkeyword">))</span><span class="syntaxdefault"> include </span><span class="syntaxstring">'hello.php'</span><span class="syntaxkeyword">;<br />}<br /></span><span class="syntaxdefault">$end </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> microtime</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">true</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">$time </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $end </span><span class="syntaxkeyword">-</span><span class="syntaxdefault"> $start</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">echo </span><span class="syntaxstring">'Temps avec fichier include existant: '</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$time</span><span class="syntaxkeyword">.</span><span class="syntaxstring">'<br />'</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxdefault">$start </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> microtime</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">true</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">for </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$i </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> 0</span><span class="syntaxkeyword">;</span><span class="syntaxdefault"> $i </span><span class="syntaxkeyword"><</span><span class="syntaxdefault"> 1000</span><span class="syntaxkeyword">;</span><span class="syntaxdefault"> $i</span><span class="syntaxkeyword">++)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault"> if</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">is_file</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'hello.bat'</span><span class="syntaxkeyword">))</span><span class="syntaxdefault"> include </span><span class="syntaxstring">'hello.bat'</span><span class="syntaxkeyword">;<br />}<br /></span><span class="syntaxdefault">$end </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> microtime</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">true</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">$time </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $end </span><span class="syntaxkeyword">-</span><span class="syntaxdefault"> $start</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">echo </span><span class="syntaxstring">'Temps avec fichier include inexistant: '</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$time</span><span class="syntaxkeyword">.</span><span class="syntaxstring">'<br />'</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault"> </span> hello.php PHP: <span class="syntaxdefault"><br /></span><span class="syntaxkeyword"><?</span><span class="syntaxdefault">php<br /></span><span class="syntaxcomment">//Hello world<br /></span><span class="syntaxdefault"> </span> Résultats: Code: @include: Temps avec fichier include existant: 0.195801019669 Temps avec fichier include inexistant: 1.83798408508 is_file/include: Temps avec fichier include existant: 0.413612127304 Temps avec fichier include inexistant: 0.193293094635
résultat logique, la suppresion des erreurs est très lent, mais permet de supprimer un calcul... tu y gagne mais tu y perd personnelement je préfère toujours etre les erreurs sauf de très rares cas