Salut à tous

Dans la suite logique de mon apprentissage de la POO en vue d'une mise au propre de mon framework PHP personnel, je souhaite apprendre à faire un jolie packetage avec tout ce qu'il en ai dedant.
Pour le moment j'ai une bonne suite de classe toute regrouper dans le même fichier mesClass.php
Je souhaite éclater tout ceci en different packetage mais il me manque encore pas mal de notion à comprendre avant de me lancer...
Mon architecture pour le framework sera assez standard. Un dossier
/MyLib avec ds sous-dossiers par packetage créé genre
/MyLib/benchMark/. dans chaque sous-dossier la siute logique de fichier php (exeption.php, class.php, interface.php ...) suivant le besoin.
pour l'exemple, partont d'un de mon future packet benchMark.
voici les classes:
/**
* classe de bench
*
* @author Deschamps Sébastien <[email protected]>
* @copyright Deschamps Sébastien, all rights reserved.
* @version 1.0
* @name bench
* @package brts_pack
* @subpackage bench_mark
*/
// INSTANCE: $bench = new bench('bench_name');
// METHODE D'INITIALISATION D'AUTRE BENCH: $bench->init('bench_name');
class bench extends mark
{
/**
* Contient tous les marqueurs de bench
*
* @access protected
* @staticvar array
*/
protected $bench = array();
/**
* definition des propriété de la classe
*
* @name __construct
* @access public
* @param string $name nom du bench
*/
public function __construct($name)
{
// Initialisation du premier marqueur (obligatoire) à l'instanciation de classe.
$this->init($name);
}
/**
* initialisation d'un marqueur
*
* @name init
* @access public
* @param string nom du marqueur
*/
public function init($name)
{
$this->bench[$name] = new mark;
}
/**
* crée automatiquement un objet à partir de son nom de marqueur sans qu'il soit passer en paramètre
*
* @name __get
* @access public
* @param object objet bench associé au nom de marqueur
*/
public function __get($name)
{
if(isset($this->bench[$name]))
{
return $this->bench[$name];
}
else
{
throw new Exception ($name.' n\'existe pas en tant que marque de bench !');
}
}
}
/**
* classe de marqueur
*
* @author Deschamps Sébastien <[email protected]>
* @copyright Deschamps Sébastien, all rights reserved.
* @version 1.0
* @name mark
* @package brts_pack
* @subpackage bench_mark
*/
// INSTANCE (contruction et destruction auto): $tag_maker = new brts_xhtml_tag_maker($string_tag, array('attributs1' => 'value', 'attributs2' => 'value',), array('param1_name' => 'param1_value', 'param1_name' => 'param1_value', ...));
class mark
{
/**
* Début du compteur
*
* @access private
* @staticvar string
*/
protected $start;
/**
* Fin de compteur
*
* @access private
* @staticvar string
*/
protected $stop;
/**
* Résultat du bench
*
* @access private
* @staticvar string
*/
protected $time;
/**
* initialisation d'un marqueur
*
* @name init
* @access public
* @param string nom du marqueur
*/
final public function start()
{
$this->start = microtime(true);
}
final public function stop()
{
$this->stop = microtime(true);
}
final public function getResult()
{
$this->time = $this->stop - $this->start;
return $this->time;
}
}
j'aimerai comprendre comment faire un packetage de ce dernier et surtout comment faire pour savoir quand et comment gerer des interfaces et exeptions pour avoir un rendu de mon framework digne des plus grand du genre.
J'ai regarder du coté de ZF, HOA, ... et l'architecure semble la même. je ne veu pas pour l'instant faire en sorte d'avoir de MVC ou autre pour ce framework mais juste une création de packetage simple auquel je grêfferai des classe de gestion par la suite.
1°) Donc ma premiere question est donc par quoi commencer pour avoir un framework de toutes mes classes ?
2°) si il est possible à quelqu'un d'experimenter de s'appuyer sur mon exemple benchMark pour me montrer comment monter ces deux classes en un packetage de framework?
Merci d'avance pour votre aide précieuse

Salut à tous :)
Dans la suite logique de mon apprentissage de la POO en vue d'une mise au propre de mon framework PHP personnel, je souhaite apprendre à faire un jolie packetage avec tout ce qu'il en ai dedant. :-k
Pour le moment j'ai une bonne suite de classe toute regrouper dans le même fichier mesClass.php
Je souhaite éclater tout ceci en different packetage mais il me manque encore pas mal de notion à comprendre avant de me lancer...
Mon architecture pour le framework sera assez standard. Un dossier [b]/MyLib[/b] avec ds sous-dossiers par packetage créé genre [b]/MyLib/benchMark/[/b]. dans chaque sous-dossier la siute logique de fichier php (exeption.php, class.php, interface.php ...) suivant le besoin.
pour l'exemple, partont d'un de mon future packet benchMark.
voici les classes:
[php]/**
* classe de bench
*
* @author Deschamps Sébastien <
[email protected]>
* @copyright Deschamps Sébastien, all rights reserved.
* @version 1.0
* @name bench
* @package brts_pack
* @subpackage bench_mark
*/
// INSTANCE: $bench = new bench('bench_name');
// METHODE D'INITIALISATION D'AUTRE BENCH: $bench->init('bench_name');
class bench extends mark
{
/**
* Contient tous les marqueurs de bench
*
* @access protected
* @staticvar array
*/
protected $bench = array();
/**
* definition des propriété de la classe
*
* @name __construct
* @access public
* @param string $name nom du bench
*/
public function __construct($name)
{
// Initialisation du premier marqueur (obligatoire) à l'instanciation de classe.
$this->init($name);
}
/**
* initialisation d'un marqueur
*
* @name init
* @access public
* @param string nom du marqueur
*/
public function init($name)
{
$this->bench[$name] = new mark;
}
/**
* crée automatiquement un objet à partir de son nom de marqueur sans qu'il soit passer en paramètre
*
* @name __get
* @access public
* @param object objet bench associé au nom de marqueur
*/
public function __get($name)
{
if(isset($this->bench[$name]))
{
return $this->bench[$name];
}
else
{
throw new Exception ($name.' n\'existe pas en tant que marque de bench !');
}
}
}
/**
* classe de marqueur
*
* @author Deschamps Sébastien <
[email protected]>
* @copyright Deschamps Sébastien, all rights reserved.
* @version 1.0
* @name mark
* @package brts_pack
* @subpackage bench_mark
*/
// INSTANCE (contruction et destruction auto): $tag_maker = new brts_xhtml_tag_maker($string_tag, array('attributs1' => 'value', 'attributs2' => 'value',), array('param1_name' => 'param1_value', 'param1_name' => 'param1_value', ...));
class mark
{
/**
* Début du compteur
*
* @access private
* @staticvar string
*/
protected $start;
/**
* Fin de compteur
*
* @access private
* @staticvar string
*/
protected $stop;
/**
* Résultat du bench
*
* @access private
* @staticvar string
*/
protected $time;
/**
* initialisation d'un marqueur
*
* @name init
* @access public
* @param string nom du marqueur
*/
final public function start()
{
$this->start = microtime(true);
}
final public function stop()
{
$this->stop = microtime(true);
}
final public function getResult()
{
$this->time = $this->stop - $this->start;
return $this->time;
}
}
[/php]
j'aimerai comprendre comment faire un packetage de ce dernier et surtout comment faire pour savoir quand et comment gerer des interfaces et exeptions pour avoir un rendu de mon framework digne des plus grand du genre.
J'ai regarder du coté de ZF, HOA, ... et l'architecure semble la même. je ne veu pas pour l'instant faire en sorte d'avoir de MVC ou autre pour ce framework mais juste une création de packetage simple auquel je grêfferai des classe de gestion par la suite.
[b]1°) Donc ma premiere question est donc par quoi commencer pour avoir un framework de toutes mes classes ?
2°) si il est possible à quelqu'un d'experimenter de s'appuyer sur mon exemple benchMark pour me montrer comment monter ces deux classes en un packetage de framework?
[/b]
Merci d'avance pour votre aide précieuse ;)