[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Phpcompta-contrib] contributeur...
From: |
herve couvelard |
Subject: |
Re: [Phpcompta-contrib] contributeur... |
Date: |
Thu, 11 May 2006 20:54:14 +0200 |
User-agent: |
Mozilla Thunderbird 1.0.2 (X11/20051002) |
bonsoir,
je reviend à la charge, au rapport, sur mes activités de la journée.
1 - grace à Christophe j'ai finalisé ma regexp pour parser le fichier
-------------------------------------------------------------------
des defines.
------------
Je ne m'en sert pas pour le moment, mais l'objectif est de couper le
fichier constant.php en 3 fichiers
1 fichiers avec les constantes mysql
1 fichier avec les contantes pgsql
1 fichier des constantes modifiables facilement
Le grand fichier constant.php
par exemple---------
constant_modif.php
define ("ERROR_LOG","/www/phpcompta/tmp/phpcompta_error.log");//fichier
define ("_DB_TYPE_","pgsql"); <-- ou mysql
define ("DEBUG","true");//infos de débugages
define ("DEBUG_TYPE","file");<-oui ouij'ai ajouté un debug sur file
(....)_______________________
mysql_constant.php
define ("MYSQL_USER","debian-user");
define ("MYSQL_DB","compta");
define ("MYSQL_HOST","localhost");
define ("MYSQL_CONF","account_repository");
(.....)__________________________
pgsql_constant.php
define ("phpcompta_password","dany");
define ("domaine","");//prefixe des tables ?
(........)_________________________
constant.php
include ('constant_modif.php');
include (_DB_TYPE_.'_constant.php);
define ("NOERROR",0);
define ("BADPARM",1);
define ("BADDATE",2);
define ("NOTPERIODE",3);
define ("PERIODCLOSED",4);
(.........)__________________________
De cette manière là on peut faire une interface de modification des
fichiers de conf [la regexp marche encore merci christophe] en passant
ce qui doit/peut être modifié facilement dans un des 3 fichiers accessibles.
2 - j'ai triturer dans le code pour faire du multi base, aujourd'hui
j'ai essayé cela :
avant (version simplifiée):
posgres.php------------
function ExecSql($p_connection, $p_string) {
$ret=pg_query($p_connection,$p_string);
return $ret;}
fichier---------------------
include('posgres.php');
$Res=ExecSql($this->db,"select * chose");
$Max=pg_NumRows($Res);
if ( $Max == 0 ) return null;
for ($i=0;$i<$Max;$i++) {
$array[]=pg_fetch_array($Res,$i);
$tot_cred+=$array[$i]['cred_montant'] ;}
(.....................)--------------
test_actuel (version simplifiée)
pgsql_base.php
include('postgres.php')
function Exec_Sql($p_connection, $p_string) {
$ret=pg_query($p_connection,$p_string);
$res=pg_NumRows($ret);
for ($i=0;$i<$res;$i++) {
$row[$i]=pg_fetch_assoc($ret,$i);
}
return (array($res,$row));
}
fichier-------------------------
include(_DB_TYPE_.'_base.php');<- mysql/pgsql
$Res=Exec_Sql($this->db,"select * chose");
if ( $Res[0] == 0 ) return null;
for ($i=0;$i<$Res[0];$i++) {
$tot_cred+=$Res[1][$i]['cred_montant'] ;}
(.....................)--------------------
L'objectif était de ne plus se prendre la tête avec les pg_ et mysql_.
Demain je vais faire le test en absorbant complètement le sql pour voir.
Peut être ce sera plus prolifique, peut-être il faut les 2, affaires à
suivre.
ce système marche pour pgsql et mysql, connexion à la base,choix
dossier, comptabilité,menu compta. J'ai commencé à intégrer les css pour
voir dans le menu général (celui du haut) cela rentre pas mal, cela ne
devrait pas poser de problème.
Je n'ai pas encore abordé le dossier comptable et je n'ai pas encore
touché à l'installation, de toute façon c'est pour voir comment faire et
dans quel ordre de bataille aborder la chose.
3 - au niveau graphique, rien de nouveau, juste 2 pictos en plus.,
revoila le lien mis a jour:
http://www.patrimoine-pour-demain.com/php_compta.png
4 - j'aurais tendance à proposer de passer certaines bases de données en
fichier textes plats, par exemple les préférences, tout ce qui n'est pas
sensible et qui ne justifie pas un BDD. Je n'ai encore rien fait de la
sorte, mais un bon filegetcvs ()... et hop directement un formulaire et
hop directement un fputs... cela allègerait pas mal la bdd et
simplifierais le code.
5 - pour le fun la modif pour le débug par file dans le fichier debug.php
---------------------------------------------------
if ( DEBUG=='true' ) {
> JUSTE ICI
> if (DEBUG_TYPE=='file'){ << celui dans constant.php
> $fdebug=fopen(ERROR_LOG,"a+");
> fwrite($fdebug,date("Ymd H:i:s").$file.' : '.$line.' _ >'.$msg."\n");
> fclose($fdebug);}
> else{
>=====
(suite ....)
$password=phpcompta_password;
$l_Db="dbname=log user='phpcompta' (......)-----
c'était plus facile pour moi de pouvoir suivre avec un tail -f du
fichier error_log.
donc voila, j'attend avec impatience des critiques bonnes ou mauvaises
et des idées......
je n'ai a priori pas de question sauf : pourquoi 2 bases de données
modèles existantes,au lieu de créer la base de donné à la demande
suivant un modèle script ? est-ce pour utiliser la fonction d'héritage
de pgsql ? (si si je me documente).
hervé
Re: [Phpcompta-contrib] contributeur..., herve couvelard, 2006/05/10
Re: [Phpcompta-contrib] contributeur..., herve couvelard, 2006/05/10