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 | ||
| developpement_de_phpcompta [2014/03/22 16:13] – [Nouvelle méthode] dany | developpement_de_phpcompta [2025/06/15 17:14] (Version actuelle) – [La documentation] dany | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | ======Développement de PhpCompta====== | + | ======Développement de NOALYSS |
| =====Intro===== | =====Intro===== | ||
| Ligne 21: | Ligne 21: | ||
| Un contrôle est une page php, qui en fonction de l' | Un contrôle est une page php, qui en fonction de l' | ||
| - | Dans phpcompta, cette page est : | + | Dans NOALYSS, cette page est : |
| do.php pour toutes les demandes de pages | do.php pour toutes les demandes de pages | ||
| Ligne 128: | Ligne 128: | ||
| J' | J' | ||
| + | Voir le résultat ici [[https:// | ||
| + | ==== NOALYSS ==== | ||
| - | ====PhpCompta==== | + | NOALYSS |
| - | + | ||
| - | PhpCompta | + | |
| 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 noalyss/ | ||
| + | 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 | + | |
| + | On utilise | ||
| A partir de NOALYSS (version 6.7.2.0), et pour les plugins nous utiliserons PHPUnit.Ces tests sont heureusement appelables directement depuis NetBeans (version 7.4 et supérieure). | A partir de NOALYSS (version 6.7.2.0), et pour les plugins nous utiliserons PHPUnit.Ces tests sont heureusement appelables directement depuis NetBeans (version 7.4 et supérieure). | ||
| - | Il faut tout d' | + | Il faut tout d' |
| + | La documentation plus complète se trouve dans le manuel [[https:// | ||