Deux fichiers ajoutés dans PMB/doc

les voici en PJ, à respecter scrupuleusement ;-)

Eric

Rêgles de requetage SQL :

INSERT :
        préférer la forme insert into TABLE (COL1, COL2, ...) values (VAL1, VAL2, ...)
                à la forme insert into TABLE set COL1=VAL1, COL2=VAL2, ...
        La seconde forme vous interdit radicalement de fixer la colonne éventuelle en 
id auto_increment
        D'une manière générale, on ne fixe jamais la valeur d'une colonne 
auto_increment, c'est le serveur qui va la gérer
        On ne met donc pas cette colonne auto_increment dans la rqt insert
                Si on veut la mettre : on met ZERO pour la valeur
                
UPDATE : 
        On n'update jamais la clé primaire d'une table, partez du principe que c'est 
une colonne
                gérée par le serveur, elle ne vous appartient pas.
        Si update d'un enregistrement complet, inutile de regarder quelles colonnes 
ont été modifiées
                pour savoir quoi mettre dans le SET COL=VAL, y mettre tout sans se 
poser de question,
                meilleur pour la performance.
        
; à la fin des requetes :
        Pas de ; à la fin de vos requetes SQL en PHP, c'est la parser qui envoie 
lui-même le 
        séparateur de requetes.
        
LOCK TABLES :
        A proscrire, en principe vous n'avez pas à vous en servir
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
Ce fichier aborde deux points importants de programmation :
        Inlude/require 
        Minimum nécessaire

*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
Problème des inlude/require :
 
include génère un warning si fichier inaccessible
require génère une erreur
 
IL FAUT DONC UTILISER require.
------------------------------

require inclus et parse le fichier
require_once inclus et parse si ça n'a pas encore été fait, autrement dit :
 
        require_once ("fichier avec fonctions ou classes dedans.php");
        require_once ("fichier avec fonctions ou classes dedans.php");
        
        ne posera aucun problème
 
là où :
 
        require ("fichier avec fonctions ou classes dedans.php"); 
        require ("fichier avec fonctions ou classes dedans.php");
        
        va vous faire une erreur de cannot redeclare ....

IL FAUT DONC UTILISER require_once
----------------------------------

Les chemins sont paramétrés dans includes/config.inc.php
 
Vous devez donc écrire en début de chacun de vos fichiers racines (celui que vous 
voyez dans l'url) :
        // définition du minimum nécéssaire 
        include ("./includes/error_report.inc.php") ;
        include ("./includes/global_vars.inc.php") ;
        include ("./includes/config.inc.php");

Si vous n'êtes pas à la racine de PMB/ :
        Adapter les chemins :
                // définition du minimum nécéssaire 
                include ("../../includes/error_report.inc.php") ;
                include ("../../includes/global_vars.inc.php") ;
                include ("../../includes/config.inc.php");

        Ajouter :
                $include_path      = "../../".$include_path; 
                $class_path        = "../../".$class_path;
                $javascript_path   = "../../".$javascript_path;
                $styles_path       = "../../".$styles_path;

 
Avec cette façon d'inclure : 
        Vous n'avez plus à vous soucier du chemin d'accès, faites simplement :
                require_once("$class_path/ma_classe.inc.php");
        Vos classes ainsi développées deviendront accessible en dehors de la racine !
        Si, par le truchement des inclusions, il y a plusieurs require_once au même 
fichier, vous ne sortirez pas en carafe !
        
        
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
Le minimum nécessaire :
        include ("./includes/error_report.inc.php") ;
                limite les affichages d'erreur et warnings, compatibilité avec easyPHP 
1.7 (=versions récentes de PHP)

        include ("./includes/global_vars.inc.php") ;
                résout le pb de register_globals = Off, compatibilité avec easyPHP 1.7 
(=versions récentes de PHP)
        
        include ("./includes/config.inc.php");
                Propre à PMB, définit un paquet de constantes, dont notamment les 
chemins :
                        $include_path      = 'includes';               // includes
                        $class_path        = 'classes';                // classes
                        $javascript_path   = 'javascript';             // scripts
                        $styles_path       = 'styles';                 // styles



Répondre à