Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révisionLes deux révisions suivantes | ||
developpement_de_phpcompta [2014/03/22 16:13] – [Nouvelle méthode] dany | developpement_de_phpcompta [2014/03/22 19:10] – [Nouvelle méthode] dany | ||
---|---|---|---|
Ligne 159: | Ligne 159: | ||
[[developpement: | [[developpement: | ||
- | ====Nouvelle méthode==== | + | |
+ | ==== Les mises à jour ==== | ||
+ | Depuis 2005, dans phpcompta, il y a une table VERSION qui contient le numéro du dernier patch appliqué. Quand le fichier do.php est exécuté, il vérifie si le nombre DBVERSION contenu dans constant.php correspond à la version actuelle | ||
+ | |||
+ | <code php> | ||
+ | /* Ficher do.php */ | ||
+ | if (DBVERSION < dossier:: | ||
+ | { | ||
+ | echo '< | ||
+ | | ||
+ | | ||
+ | } | ||
+ | if (DBVERSION > dossier:: | ||
+ | { | ||
+ | echo '< | ||
+ | $a = _(" | ||
+ | $base = dirname($_SERVER[' | ||
+ | echo '<a hreF="' | ||
+ | } | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | Dans le cas où DBVERSION n'est pas la valeur contenue dans la base de donnée, do.php vous propose d' | ||
+ | <code php> | ||
+ | /* fichier setup.php */ | ||
+ | // | ||
+ | // Upgrade the folders | ||
+ | // | ||
+ | |||
+ | for ($e=0;$e < $MaxDossier; | ||
+ | | ||
+ | echo "< | ||
+ | |||
+ | $name=$cn-> | ||
+ | |||
+ | if ( $cn-> | ||
+ | { | ||
+ | $db=new Database($db_row[' | ||
+ | $db-> | ||
+ | Dossier:: | ||
+ | |||
+ | } else | ||
+ | { | ||
+ | echo_warning(_(" | ||
+ | } | ||
+ | } | ||
+ | |||
+ | </ | ||
+ | |||
+ | La fonction qui applique le patch est Database:: | ||
+ | |||
+ | |||
+ | Tous les patchs pour la base de données se trouve dans phpcompta/ | ||
+ | Chaque patch commence par | ||
+ | <code sql> | ||
+ | begin; | ||
+ | </ | ||
+ | |||
+ | et termine par | ||
+ | <code sql> | ||
+ | update version set val=13; | ||
+ | |||
+ | commit; | ||
+ | </ | ||
+ | |||
+ | Ainsi, si le script échoue, la mise à jour s' | ||
+ | |||
+ | ====Accèder aux données : DAO ==== | ||
- | Nous avons créér une classe Phpcompta_Sql qui va nous permettre de faire la même chose en très peu de ligne de code. | + | Nous avons créér une classe |
Ligne 231: | Ligne 299: | ||
</ | </ | ||
Si on change la structure d'une table, il ne faut presque rien changer : seulement quelques lignes. | Si on change la structure d'une table, il ne faut presque rien changer : seulement quelques lignes. | ||
- | ==== Les tests unitaires ==== | + | ===== Les tests unitaires |
Avant on utilisait dans chaque class , une fonction nommée [[developpemement:: | Avant on utilisait dans chaque class , une fonction nommée [[developpemement:: | ||