[PHP5] CLASSES DES BENCHMARK (GLOBAL ET ITERATE) AVEC CONSOLE GRAPHIQUE ET SESSI
phoenix1789
Messages postés6Date d'inscriptionmercredi 8 novembre 2006StatutMembreDernière intervention26 mars 2007
-
25 mars 2007 à 17:53
webdeb
Messages postés488Date d'inscriptionsamedi 5 avril 2003StatutMembreDernière intervention31 mars 2009
-
1 avril 2007 à 16:52
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
}
>
for ($i=0, $len=strlen($timer); $i<$len; $i++) {
$NewTimer.= ''.$timer[$i].''; // On utilise plus les { } :)
}
global.php
__construct()
Un coup tu utilises les doubles quotes, un coup les simples... il faut choisir :)
if($this->_SaveInSession === TRUE)
{
if(isset($_GET["bench_global"]) and ($_GET['bench_global'] === 'emptybench'))
{
$_SESSION['_BenchmarksSave_Global'] = array();
header('location:'.$_SERVER['PHP_SELF']);
exit;
}
}
>
if( $this->_SaveInSession && isset($_GET['bench_global']) && strtolower($_GET['bench_global']) === 'emptybench') ) {
unset($_SESSION['_BenchmarksSave_Global']);
header('location:'.$_SERVER['PHP_SELF']);
exit;
}
__destruct();
tu peux laisser ton destructeur vierge. Il ne fait rien de bien exitant.
End ();
for($i=0;$i<$Count_Marks;$i++)
{
if($i > $Count_Marks) break;
Quel est l'intérêt ici ? ;)
if($i === 0) continue;
/**
* Marker
*/
if($i > 0 AND $i < ($Count_Marks-1))
La aussi, quel intérêt ? Tu a déja ton if() pour le $i === 0, pourquoi refaire une condition ?
Etc etc...
Bref, niveau code, y'a encore quelques trucs à faire.
De plus, ce script n'est pas très orienté objet.
Ce que j'aurais fait :
--> une classe Bench qui contient toutes les méthodes pour du bench. (add(), end() etc...)
--> une classe qui hérite de Bench pour faire de l'affichage en console
--> une classe qui hérite de Bench pour faire de la sauvegarde dans un fichier
Parce que, tel quel, je ne peux rien faire de bien amusant sur ta classe.
Il manque que le concept Objet ainsi que quelques révisions au niveau du code... mais sinon c'est beau :)
niveau code : 7/10
niveau esthétique : 9/10
niveau objet : 5/10
note global : 7/10
Mais c'est bien je trouve :)
Je me fais petit avec ma pauvre classe de bench .... ^^
phoenix1789
Messages postés6Date d'inscriptionmercredi 8 novembre 2006StatutMembreDernière intervention26 mars 2007 26 mars 2007 à 14:45
J'attends vos commentaires et note sur mon code :)
phoenix1789
Messages postés6Date d'inscriptionmercredi 8 novembre 2006StatutMembreDernière intervention26 mars 2007 25 mars 2007 à 17:53
J'avais oublier le calcul de la surcharge de la classe, je l'ajouterais lorsque j'aurai un peu plus de temps...
1 avril 2007 à 16:52
<?php
$classesCss = array('ligne1'=>'ligne2', 'ligne2'=>'ligne1');
$couleur = 'ligne1';
for(...)
{
echo '', $truc ,'',"\n";
}
?>
1 avril 2007 à 16:51
<?php
$classesCss = array('ligne1'=>'ligne2', 'ligne2'=>'ligne1');
$couleur = 'ligne1';
for(...)
{
echo '', $truc ,'',"\n";
}
?>
++
28 mars 2007 à 02:58
$NewTimer.= ''.$timer[$i].''; // On utilise plus les { } :)
}
=>
for ($i=0, $len=strlen($timer); $i<$len; $i++)
$NewTimer.= ''.$timer[$i].'';
Mais si tu veux optimiser n'utilise pas l'opérateur ternaire... .. . ;o)
@ tchaOo°
27 mars 2007 à 18:26
Pour ca, tu peux utiliser la reflection facilement :)
26 mars 2007 à 22:50
Oui en effet il y a beaucoups de petites choses à revoir...
et notament le concept objet comme tu dis, à la rigueur pour Phoenix_Benchmark_Global, mais c'est vrai que pour .._Iterate...
Jme disais bien qu'un truc n'allait pas ! La classe Phoenix_Benchmark n'a pour l'heure aucune utilité...Je passerai un coup d'éponge plus tard...
Pour ce qui est du logging des benchs, j'avais fait une console très riche graphiquement (une classe et une page en procédural pour la console)...
J'enverrai des aperçus écran plus tard...
@+ ;)
26 mars 2007 à 20:37
Bon mis à part que c'est jolie, bien fait... voici mon point de vue strictement 'codage' :
Benchmark.php
::ergoTimer($timer);
Ouh la, ca mérite un peu d'optimisation ici :
for ( $i=0 ; $i < strlen($timer) ; $i++ ) {
// Détermination du style
if($i % 2) $style = $Style_Time_1;
else $style = $Style_Time_2;
$NewTimer.= ''.$timer{$i}.'';
}
>
for ($i=0, $len=strlen($timer); $i<$len; $i++) {
$NewTimer.= ''.$timer[$i].''; // On utilise plus les { } :)
}
global.php
__construct()
Un coup tu utilises les doubles quotes, un coup les simples... il faut choisir :)
if($this->_SaveInSession === TRUE)
{
if(isset($_GET["bench_global"]) and ($_GET['bench_global'] === 'emptybench'))
{
$_SESSION['_BenchmarksSave_Global'] = array();
header('location:'.$_SERVER['PHP_SELF']);
exit;
}
}
>
if( $this->_SaveInSession && isset($_GET['bench_global']) && strtolower($_GET['bench_global']) === 'emptybench') ) {
unset($_SESSION['_BenchmarksSave_Global']);
header('location:'.$_SERVER['PHP_SELF']);
exit;
}
__destruct();
tu peux laisser ton destructeur vierge. Il ne fait rien de bien exitant.
End ();
for($i=0;$i<$Count_Marks;$i++)
{
if($i > $Count_Marks) break;
Quel est l'intérêt ici ? ;)
if($i === 0) continue;
/**
* Marker
*/
if($i > 0 AND $i < ($Count_Marks-1))
La aussi, quel intérêt ? Tu a déja ton if() pour le $i === 0, pourquoi refaire une condition ?
Etc etc...
Bref, niveau code, y'a encore quelques trucs à faire.
De plus, ce script n'est pas très orienté objet.
Ce que j'aurais fait :
--> une classe Bench qui contient toutes les méthodes pour du bench. (add(), end() etc...)
--> une classe qui hérite de Bench pour faire de l'affichage en console
--> une classe qui hérite de Bench pour faire de la sauvegarde dans un fichier
Parce que, tel quel, je ne peux rien faire de bien amusant sur ta classe.
Il manque que le concept Objet ainsi que quelques révisions au niveau du code... mais sinon c'est beau :)
niveau code : 7/10
niveau esthétique : 9/10
niveau objet : 5/10
note global : 7/10
Mais c'est bien je trouve :)
Je me fais petit avec ma pauvre classe de bench .... ^^
26 mars 2007 à 14:45
25 mars 2007 à 17:53