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

EDI, CMS, Outils, Scripts et API PHP Discussion :

organisation mvc probleme de referencement des fichires dans les dossiers m-v-c


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2017
    Messages : 105
    Points : 53
    Points
    53
    Par défaut organisation mvc probleme de referencement des fichires dans les dossiers m-v-c
    salut en voullant migre vers une architcture mvc, jai des proleme d'appel des fichiers demanders,
    voila jai tout d'abord tous mes fichiers (model[Model.php] vue [vueArticle.php, vueErreur.php, index.php] et controller [contrller.php]) sont dans un seul dossier.
    la, mon site marche propre.

    mon problemme se situe au moment ou je veux changer ces fichiers de dossiers.

    si je n'utilise pas la technique des ../ de index.php a Controller.php par exemple (et ainsi pour les autre cas de référencement)
    comme dans l'emple suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    //fichier index.php
    <?php
        require ('Controller/Controller.php');
     
        try {
            if(isset($_GET['action'])) { ....
    l'application marche mais les style sont perdus

    par contre
    si j'utilise la technique des ../ de index.php a Controller.php par exemple (et ainsi pour les autre cas de référencement)
    comme dans l'exemple suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    //fichier index.php
    <?php
        require ('../Controller/Controller.php');
     
        try {
            if(isset($_GET['action'])) { ....
    le style vient normalement (pour tout les vues) Mais il ya des errurs
    Warning: require(../Controller/Controller.php): failed to open stream: No such file or directory in C:\Users\USER\Documents\NetBeansProjects\templateSTPO_1.26.04.2018\View\index.php on line 2

    Fatal error: require(): Failed opening required '../Controller/Controller.php' (include_path='.;C:\php\pear') in C:\Users\USER\Documents\NetBeansProjects\templateSTPO_1.26.04.2018\View\index.php on line 2
    est que quelqu'un a une solution pour moi?
    peut etre l'ecriture des chemin comlpete mais est ce que cela n'aumente pas la complexite (temps d'acces) du site, en plus que c'est pas jolie a ecrire !

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    essayez en basant toutes les inclusions sur __DIR__ qui est le répertoire du fichier en cours.
    donc par exemple dans "View/index.php" vous pouvez essayer cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    require __DIR__ . "/../Controller/Controller.php";

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2017
    Messages : 105
    Points : 53
    Points
    53
    Par défaut
    MERCI

    Mais j'obtient l'erreur suivantes:
    Notice: Use of undefined constant _DIR_ - assumed '_DIR_' in C:\Users\USER\Documents\NetBeansProjects\Testspo\View\indexs.php on line 2

  4. #4
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2017
    Messages : 105
    Points : 53
    Points
    53
    Par défaut
    oups, javais mis _DIR_ au lieu de doubler (__DIR__). donc pas derreur maintenant ceci dit mon style est toujours abscent.

    voici l'arborescence du site aveec les require pour chaque fichier
    /Controlleur
    * Controller.php /* __DIR__. "/../Model/Model.php"; et aussi require __DIR__. "/../View/viewAccueil.php"; ...*/
    /Model
    * Model.php
    /View
    * css/..
    * img/..
    * viewAccueil.php /* require __DIR__. "/template.php"; */
    * viewArticle.php /* require __DIR__. "/template.php"; */
    * index.php /* require (__DIR__. "/../Controller/Controller.php"); */
    * template.php
    /index.php /* require __DIR__. "/View/index.php"; */


    ainsi si j'execute mon site (a partir du fichier /index.php) , le site fonction bien mais l'affichage est sans style (css) .
    Mais si j'execute mon site a partir du fichier /View/index.php le site marche bien et avec son style a l'affichage
    je troureve pourtant que le referencement est sans erreur au niveau du fichier /index.php.

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2017
    Messages : 105
    Points : 53
    Points
    53
    Par défaut
    ok!
    je simplifi la complexite de ma question pour quel soit plus compresnssible.
    1) voisi l'arboressence de mon site
    Nom : detectError.PNG
Affichages : 177
Taille : 10,5 Ko

    2)template.php contient un format d'affichace avec tout les style necessaire (j'ai telecharger un template sur le net au kel jai integrer des variables php)

    3) si j'execute template, il vient correctement avec son style

    4) parcontre si le l'apper a partir di fichier lead.php le contenu de la page vient sana son style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    <?php
     
     require_once '../View/template.php'; // je fait ca d'abord
     //require_once __DIR__.'/../View/template.php'; ensuite je fait comme ca mais le style ne vient toujours pas.
    sos!

  6. #6
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    pour les liens vers les fichiers CSS, ce ne sont pas les chemins sur le serveur qu'il faut regarder mais les chemins côté client.
    quel est l'URL de la page et quel est l'URL du fichier CSS ?

  7. #7
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2017
    Messages : 105
    Points : 53
    Points
    53
    Par défaut
    ok merci mathieu.

    pobleme resolu.

    pour les liens vers les fichiers CSS, ce ne sont pas les chemins sur le serveur qu'il faut regarder mais les chemins côté client.
    quel est l'URL de la page et quel est l'URL du fichier CSS ?
    j'ai reggouper tout ce qui concerne le style dans un dossier a part (/public) puis j'ai corriger tout les liens qui se rapportent au style pour qu'ils marchent avec non template.php (ex: dans template. php on aurra <link href="../public/css.......) puis,
    pour tout mes require xx.php, je n'applle plus le fichier xx.php comme partant d'un dossier quelconque, mais je l'appelle comme partant de l'index, donc plus besoin de ../Controller/Controller.php par exemple mais Controller/Controller.php.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. probleme d'enregistrement des accents dans la BDD
    Par Gloup dans le forum Installation
    Réponses: 1
    Dernier message: 09/07/2006, 21h07
  2. probleme de trie des nombres dans mysql
    Par fwdavy dans le forum Administration
    Réponses: 3
    Dernier message: 23/03/2006, 21h31
  3. Probleme pour afficher des printf dans le main
    Par Battosaiii dans le forum C
    Réponses: 4
    Dernier message: 13/03/2006, 10h58
  4. []Problème d'affichage des enregistrements dans un DataReport
    Par GeniuZ dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 05/01/2005, 16h52
  5. [easystruts] probleme de copie des *.tld dans web-inf
    Par champion dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 23/08/2004, 11h46

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