IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

[Conception] utiliser le même script a plusieurs endroits dans différents répertoires


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Par défaut [Conception] utiliser le même script a plusieurs endroits dans différents répertoires
    Bonjour,

    J'en ai un peu marre de copier coller des bouts de codes identiques dans différentes pages de mon site : je voudrais rationaliser un peu mon code (je dis rationaliser, si vous avez un meilleur terme hein...).

    Donc je me demande si il n'est pas possible de placer ce bout de code dans un fichier et de l'appeler ensuite là où j'en ai besoin. Je ne parle pas d'un require ou d'un include hein.

    Y'a-t'il une solution? Peut être avec les fonctions ? Personnellement je ne les ai jamais utilisées c'est peut être un tort et c'est peut être le moment, sauf si ça n'a rien à voir.

    Merci pour vos conseils/idées/chèques/suggestions/recommandations.

  2. #2
    Membre Expert Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Par défaut
    salut, et pourquoi pas avec des classes?
    ca me parait bien approprié pour ton cas.
    Sinon pour le cheque tu peux me contacter en privé, pour que je te donne mes coordonnées pour que tu me l'envoie

  3. #3
    Membre Expert

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Par défaut
    j'ai un meilleur terme : structurer ;o)

    pourquoi tu n'aime pas les include ? (le require je comprends ;o)

    Les fonctions ne sont utiles que si tu as de legere variation dans la portion de code que tu souhaite afficher. Par exemple, si tu veux afficher un texte formaté d'une certaine maniere :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <span style="..."><b><center> [ texte ] </center></b></span>
    tu peux faire une fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function affiche($texte) {
     echo "<span style='...'><b><center> [ $texte ] </center></b></span>";
    }
    et l'appeller :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php affiche('texte'); ?>
    <?php affiche('texte1'); ?>
    <?php affiche('texte2'); ?>
    autant de fois que tu veux.

    Si tu n'as pas de texte variable, (genre pour un header ou un footer de page) le mieux reste un include :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php include('header.php'); ?>
    A noter que pour utiliser des fonctions, il te faudra aussi des include contenant les declarations des fonctions :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php include_once('fonctions.php'); ?>
    sur toutes les pages appellant les fonctions.

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Par défaut
    D'accord, donc même pas avec les fonctions, l'include est obligatoire. Ok.

    Maintenant prenons cet exemple :
    - J'ai un script qui vérifie le vocabulaire du champ de formulaire nommé "contenu".
    - La variable sur laquelle ce script agit est $contenu.
    - Je veux maintenant utiliser ce même script à un autre endroit du site, pour un autre champ qui se nomme lui "titre".
    - Ici si je sépare le script initial et que je l'inclu, il va correctement fonctionner pour le premier formulaire mais pas pour le second.

    Je peux, me direz-vous, faire un $contenu=$titre pour qu'il fonctionne correctement dans le deuxième cas.

    Mais en fait vous faites comment vous ? Vous avez x requêtes sql ou script à faire à différents endroits , vous copiez-collez sans arrêt le même script par exemple ? Quite à devoir tous les modifier plutot qu'un seul ?

    Je demande ça parce que mon site commence à devenir assez complexe et je dois mieux le structurer. Y'a pas des méthodes pré-établies pour batir des plans de site cohérents ? Tout le monde fait à sa façon ?

  5. #5
    Membre Expert Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Par défaut
    dans ton script tu auras quelque chose comme ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    function verifortho($value)
    {
    blablabablba
     
    if ($ok)
    return true;
    else
    return false;
    }
    dans ta page tu feras
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    // pour le contenu
    if (verifortho($contenu) === false)
    echo "il y a des fautes";
     
    // pour le titre
    if (verifortho($titre) === false)
    echo "il y a des fautes dans le titre.";
    Donc en fait tu passe un parametre(ou des) a ta fonction pour qu'elle fonctionne en fonction d'eux.

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Par défaut
    Voilà c'est exactement un truc comme ça que j'avais en tête.

    Prenons l'exemple de ce script qui effectue des remplacement des remplacements à l'intérieur de $titre.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    $titre = preg_replace(
                array(
                    '#a{2,}#i',
                    '#b{3,}#i',
                    '#c{3,}#i',
                    '#d{3,}#i',
                    '#e{4,}#i',
                    '#f{3,}#i',
                    '#g{3,}#i',
                    '#h{2,}#i',
                    '#i{2,}#i',
                    '#j{2,}#i',
                    '#k{2,}#i',
                    '#l{3,}#i',
                    '#m{3,}#i',
                    '#n{3,}#i',
                    '#o{3,}#i',
                    '#p{3,}#i',
                    '#q{2,}#i',
                    '#r{3,}#i',
                    '#s{3,}#i',
                    '#t{3,}#i',
                    '#u{2,}#i',
                    '#v{2,}#i',
                    '#w{2,}#i',
                    '#x{2,}#i',
                    '#y{2,}#i',
                    '#z{2,}#i',
                    ),
                array(
                    'a',
                    'bb',
                    'cc',
                    'dd',
                    'eee',
                    'ff',
                    'gg',
                    'hh',
                    'i',
                    'j',
                    'k',
                    'll',
                    'mm',
                    'nn',
                    'oo',
                    'pp',
                    'q',
                    'rr',
                    'ss',
                    'tt',
                    'u',
                    'v',
                    'w',
                    'x',
                    'y',
                    'z'),
     
                $titre
                );
    Imaginons que maintenant je veuille simplement inclure ce script, sans le modifier à chaque utilisation et qu'ils fonctionnent pour toutes les variables des différents pages où je l'utilise. Cela donnerait quoi dans ce cas ? J'ai besoin d'un exemple pratique.

Discussions similaires

  1. Réponses: 3
    Dernier message: 20/12/2011, 17h17
  2. utilisation de script js plusieurs fois dans une même page
    Par tribalnanasss dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 09/07/2010, 00h34
  3. Réponses: 3
    Dernier message: 14/05/2010, 21h24
  4. Réponses: 2
    Dernier message: 01/10/2009, 15h58
  5. Utilisation du mème trigger pour plusieurs PS
    Par Stouille33 dans le forum Développement
    Réponses: 2
    Dernier message: 17/10/2008, 09h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo