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

MVC PHP Discussion :

Mise en place de l'URL Rewriting


Sujet :

MVC PHP

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 199
    Par défaut Mise en place de l'URL Rewriting
    Bonjour a tous,

    j'utilise également mamp sous mac os X 10.4
    moi je n'ai pas d'erreur 404 mais j'ai une grosse page blanche, il ne m'affiche jamais les erreurs je ne sais pas pourquoi. php.ini est correct je pense j'ai tout mis en E_ALL

    Bref sinon je pense que c'est l'histoire du mode rewrite pour apache et la je patine je ne sais vraiment pas quoi faire.

    En outre la structure des fichiers sous mac diffère un peu es ce que cela devrait changer le fichier index.php ?

  2. #2
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    As-tu vérifié que tu utilises bien le php.ini que tu penses ? Il a tendance à jouer au fourbe

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 199
    Par défaut
    vivi j'ai vérifié,
    j'ai effectivement 2 fichiers un pour php4 et l'autre pour php5.

    Et je pense qu'ils sont correct.

    Je ne sais vraiment pas comment paramétré mon index.php pour mac
    c'est embétant ce framework avait l'air parfait pour mon petit projet, c'est vraiment une logique MVC que je recherchais.

    En attendant des idées je code tout en php5 pas orienté objet pour m'entrainer un peu

    merci pour votre aide,
    si vous avez d'autre iées ou la même config que moi, n'hésitez pas à me faire signe

  4. #4
    Membre éprouvé Avatar de hansaplast
    Homme Profil pro
    Artisant logiciel
    Inscrit en
    Septembre 2005
    Messages
    952
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Artisant logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 952
    Par défaut
    pour verifier si ton index.php est bien appelé essaie, a la ligne 1 (apres le <?php) un :
    si tu voit apparaitre :
    ouf ca rassure
    c'est que index.php est bien appelé...

    sinon, une choses a verifier :
    1/ que tu redirige bien toutes les requetes (sauf css, gif...) vers index.php5.
    => pour cela, verifie que ton apache autorise les .htacces a modifier les config (allowOveride all) ou que tu redirige directement dans ton httpd.conf

    pour la redirection, tu peut, dans un premier temps faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RewriteEngine on
    RewriteRule .* index.php
    tu optimisera ensuite afin de ne pas rediriger les fichiers CSS et autres...

    enfin, verifie dans ton httpd.conf que tu as activé le mod rewrite.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 199
    Par défaut
    pour moi là il est 9h30 je regarde tout ca ce soir en rentrant
    en tout cas j'ai hate que ce truc marche pour me lancer corps et ames dedans

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 199
    Par défaut
    bon alors j'ai bien vérifié tout cela :
    dans le php.ini (celui dans le dossier php5) et oui j'ai bien activé php 5 dans MAMP j'ai fais des tests pour etre sur
    Dans le doute voici la section sur les erreurs dans mon fichier
    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
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ; Error handling and logging ;
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
     
    ; error_reporting is a bit-field.  Or each number up to get desired error
    ; reporting level
    ; E_ALL             - All errors and warnings
    ; E_ERROR           - fatal run-time errors
    ; E_WARNING         - run-time warnings (non-fatal errors)
    ; E_PARSE           - compile-time parse errors
    ; E_NOTICE          - run-time notices (these are warnings which often result
    ;                     from a bug in your code, but it's possible that it was
    ;                     intentional (e.g., using an uninitialized variable and
    ;                     relying on the fact it's automatically initialized to an
    ;                     empty string)
    ; E_CORE_ERROR      - fatal errors that occur during PHP's initial startup
    ; E_CORE_WARNING    - warnings (non-fatal errors) that occur during PHP's
    ;                     initial startup
    ; E_COMPILE_ERROR   - fatal compile-time errors
    ; E_COMPILE_WARNING - compile-time warnings (non-fatal errors)
    ; E_USER_ERROR      - user-generated error message
    ; E_USER_WARNING    - user-generated warning message
    ; E_USER_NOTICE     - user-generated notice message
    ;
    ; Examples:
    ;
    ;   - Show all errors, except for notices
    ;
    ;error_reporting = E_ALL & ~E_NOTICE
    ;
    ;   - Show only errors
    ;
    ;error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR
    ;
    ;   - Show all errors except for notices
    ;
    error_reporting  =  E_ALL
     
    ; Print out errors (as a part of the output).  For production web sites,
    ; you're strongly encouraged to turn this feature off, and use error logging
    ; instead (see below).  Keeping display_errors enabled on a production web site
    ; may reveal security information to end users, such as file paths on your Web
    ; server, your database schema or other information.
    display_errors = Off
     
    ; Even when display_errors is on, errors that occur during PHP's startup
    ; sequence are not displayed.  It's strongly recommended to keep
    ; display_startup_errors off, except for when debugging.
    display_startup_errors = Off
     
    ; Log errors into a log file (server-specific log, stderr, or error_log (below))
    ; As stated above, you're strongly advised to use error logging in place of
    ; error displaying on production web sites.
    log_errors = On
     
    ; Set maximum length of log_errors. In error_log information about the source is
    ; added. The default is 1024 and 0 allows to not apply any maximum length at all.
    log_errors_max_len = 1024
     
    ; Do not log repeated messages. Repeated errors must occur in same file on same
    ; line until ignore_repeated_source is set true.
    ignore_repeated_errors = Off
     
    ; Ignore source of message when ignoring repeated messages. When this setting 
    ; is On you will not log errors with repeated messages from different files or
    ; sourcelines.
    ignore_repeated_source = Off
     
    ; If this parameter is set to Off, then memory leaks will not be shown (on
    ; stdout or in the log). This has only effect in a debug compile, and if 
    ; error reporting includes E_WARNING in the allowed list
    report_memleaks = On
     
    ; Store the last error/warning message in $php_errormsg (boolean).
    track_errors = Off
     
    ; Disable the inclusion of HTML tags in error messages.
    ;html_errors = Off
     
    ; If html_errors is set On PHP produces clickable error messages that direct 
    ; to a page describing the error or function causing the error in detail.
    ; You can download a copy of the PHP manual from http://www.php.net/docs.php 
    ; and change docref_root to the base URL of your local copy including the
    ; leading '/'. You must also specify the file extension being used including 
    ; the dot.
    ;docref_root = "/phpmanual/"
    ;docref_ext = .html
     
    ; String to output before an error message.
    ;error_prepend_string = "<font color=ff0000>"
     
    ; String to output after an error message.
    ;error_append_string = "</font>"
     
    ; Log errors to specified file.
    error_log = "/Applications/MAMP/logs/php_error.log"
     
    ; Log errors to syslog (Event Log on NT, not valid in Windows 95).
    ;error_log = syslog
    Apres voici mon httpd.conf je suis pas très bon je comprend pas tout je met plusieurs bout :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    # Each directory to which Apache has access can be configured with respect
    # to which services and features are allowed and/or disabled in that
    # directory (and its subdirectories). 
    #
    # First, we configure the "default" to be a very restrictive set of 
    # features.  
    #
    <Directory />
        Options Indexes FollowSymLinks
        AllowOverride All
    </Directory>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    #
        AllowOverride All
    Bon voila ca s'était pour les config server, maintenant dans le scripts en lui même (rappel j'utilise un mac os X 10.4 avec mamp)
    tout d'abord voila ma structure de dossier
    zf_tuto/
    ---WEBAPP_DIR/
    ------.htaccess
    ------index.php
    ------PHP-INF/
    ---------ctrl/
    ------------IndexController.php
    ---------views/
    ------------filters/
    ------------helpers/
    ------------scripts/
    ---------------index/
    ------------------index.phtml
    Remarque zf_tuto se trouve dans un dossier site et MAMP pointe vers site dans c'est mon dossier racine pour le server.

    Ensuite et c'est là que ca ce complique. Je ne connais pas tellement l'architecture mac et son système de fichier (comme unix il me semble) mais en tout cas voila mon fichier index.php (celui dans WEBAPP_DIR)
    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
    60
    61
    <?php
     
    die('ouf ca rassure')
     
    // mettre vos constantes ici...
    define("WEBAPP_DIR","./Users/Nicolas/Sites/zf_tuto/");
    define("MODEL_DIR",WEBAPP_DIR."/PHP-INF/");
    define("ROOT_URL","http://localhost:8888/zf_tuto/");
    define("BASE_URL","/zf_tuto/");
    define("ZEND_FRAMEWORK_DIR","./Users/Nicolas/Sites/phplib/Zend_Framework/library/");
     
    define("DB_SERVER","localhost");
    define("DB_PORT","8888");
    define("DB_NAME","CDP_VI");
    define("DB_USER","root");
    define("DB_PASSWORD","root");
    define("DB_TYPE","PDO_MYSQL");
     
    set_include_path(
      ".".PATH_SEPARATOR.
      MODEL_DIR.PATH_SEPARATOR.
      ZEND_FRAMEWORK_DIR.PATH_SEPARATOR.
      get_include_path()
    );
     
    require_once 'Zend/Loader.php';
     
    // Registry init
    Zend_Loader::loadClass("Zend_Registry");
     
    // Controller init
    Zend_Loader::loadClass('Zend_Controller_Front');
    Zend_Loader::loadClass('Zend_Controller_Router_Rewrite');
    $controller = Zend_Controller_Front::getInstance();
     
    $router = new Zend_Controller_Router_Rewrite();
     
    $cmtRoute = new Zend_Controller_Router_Route(
        "comment/:action/:comment",
        array(  "comment"=>null,
                "controller"=>"comment",
                "action"=>"display"
        )
    );
    $router->addRoute("comment",$cmtRoute);
    $controller->setBaseUrl(BASE_URL);
     
    $controller->setRouter($router);
    $controller->setControllerDirectory('PHP-INF/ctrl');
    $controller->throwExceptions(true);
     
    // init viewRenderer
    $view = new Zend_View();
    $viewRenderer = Zend_Controller_Action_HelperBroker::
        getStaticHelper('viewRenderer');
    $viewRenderer->setView($view)
                 ->setViewSuffix('phtml');
     
    // call dispatcher
    $controller->dispatch();
    ?>
    ca marche pas
    Au début j'avais commencé le tuto de développez.com mais je n'y était pas arrivé non plus donc du coup j'ai suivi celui de kitpages mais bon ce n'est pas très concluant non plus. Je pense que mon problème se situe dans les "define" plus je le regarde plus je galère bref si quelqu'un peu m'aider un peu...

    A tout hazard voici mon IndexController.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    require_once 'Zend/Controller/Action.php';
     
    class IndexController extends Zend_Controller_Action {
        public function indexAction() {
            $this->view->testMessage = "Mon message de test";
        }
    }
    ?>
    et index.phtml est juste un fichier tout bête.

    merci de votre aide

  7. #7
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Es-tu certain que ce php.ini soit pour php5 ? Il me semble qu'il te manque un niveau d'erreur : E_STRICT, que je te recommande d'ailleurs d'activer pendant le développement. Voici la portion de commentaires dans mon php.ini (PHP5) :
    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
    ; E_ALL             - All errors and warnings
    ; E_ERROR           - fatal run-time errors
    ; E_WARNING         - run-time warnings (non-fatal errors)
    ; E_PARSE           - compile-time parse errors
    ; E_NOTICE          - run-time notices (these are warnings which often result
    ;                     from a bug in your code, but it's possible that it was
    ;                     intentional (e.g., using an uninitialized variable and
    ;                     relying on the fact it's automatically initialized to an
    ;                     empty string)
    ; E_STRICT          - run-time notices, enable to have PHP suggest changes
    ;                     to your code which will ensure the best interoperability
    ;                     and forward compatability of your code
    ; E_CORE_ERROR      - fatal errors that occur during PHP's initial startup
    ; E_CORE_WARNING    - warnings (non-fatal errors) that occur during PHP's
    ;                     initial startup
    ; E_COMPILE_ERROR   - fatal compile-time errors
    ; E_COMPILE_WARNING - compile-time warnings (non-fatal errors)
    ; E_USER_ERROR      - user-generated error message
    ; E_USER_WARNING    - user-generated warning message
    ; E_USER_NOTICE     - user-generated notice message
    Voici comment activer le mode strict :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    error_reporting = E_ALL | E_STRICT
    Vérifie aussi que mod_rewrite est activé dans httpd.conf (sans le # au début de la ligne) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LoadModule rewrite_module modules/mod_rewrite.so

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 199
    Par défaut
    même si mon niveau d'erreur n'est pas parfais ce n'est pas la cause du dysfonctionnement

    je ne sais toujours pas pourquoi mon framework ne marche pas.

    EDIT : je viens de regarder le php.ini et effectivement il n'est pas pareil c'est bizare, je viens de le corriger et je regarde les effets de suite...

    Il y a quand même un truc dont je suis certain c'est que le .htaccess fonctionne puisque je n'est pas l'affichage standard qui me propose de naviguer dans un dossier quand on est dans une page web.

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 199
    Par défaut
    Et la la réponse de mon cher modérateur :
    oui mais on pourra savoir quel est le type d'erreur et ou il faut chercher...

    Donc chose prévu chose du, oui je sais c'est nul comme expression mais il est tard et je suis fatigué...

    voila l'erreur marqué
    Parse error: syntax error, unexpected T_STRING in /Users/Nicolas/Sites/zf_tuto/WEBAPP_DIR/index.php on line 9
    et la ligne 9 c'est ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    define("WEBAPP_DIR","./Users/Nicolas/Sites/zf_tuto/");
    C'est donc bien dans les define qu'est le problème mais je ne sais pas comment le résoudre...

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 199
    Par défaut
    [QUOTE=hansaplast]pour verifier si ton index.php est bien appelé essaie, a la ligne 1 (apres le <?php) un :
    si tu voit apparaitre :
    c'est que index.php est bien appelé...

    Hansaplast je vais te tuer, t'y croix ca, je fais un copier coller de ton truc et je fais même pas gaffe et comme un gros boulet j'ai pas vu qu'il n'y avait pas de ; a la fin de ta ligne, du coup ca fait une journée que je cherche pour rien.

    Enfin pour rien j'exagère plus je cherche plus je comprend les configuration server, et la logique du mvc.
    Bref j'ai bien le ouf ca rassure maintenant mais c'est tout
    j'ai rien d'autre alors que normalement il doit m'afficher la page de vue par defaut ...

    bref j'avance mais ca ne marche toujours pas

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 199
    Par défaut
    Bon alors ca avance, j'ai remarqué que la library avait un soucis...
    J'avais un uncaught error je sais plus quoi.
    Du coup il doit y avoir une petite ligne caché dans le httpd.conf qui dit que toutes les library sont planqué dans mon dossier mamp dans un obscur sous dossier.
    Bref j'ai copié collé le framework dans l'endroit ou c'était indiqué dans l'erreur. Et là j'ai eu une autre erreur que voici.
    Donc j'imagine que maintenant ma page pointe vers le bon framework puisque mes affichages d'erreurs ont évolué.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Fatal error: Uncaught exception 'Zend_Controller_Dispatcher_Exception' 
    with message 'Invalid controller specified (o)' in 
    /Applications/MAMP/bin/php5/lib/php/Zend/Controller/Dispatcher/Standard.php:193 
    Stack trace: #0 
    /Applications/MAMP/bin/php5/lib/php/Zend/Controller/Front.php(911): 
    Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), 
    Object(Zend_Controller_Response_Http)) #1 
    /Users/Nicolas/Sites/zf_tuto/WEBAPP_DIR/index.php(63): 
    Zend_Controller_Front->dispatch() #2 {main} thrown in 
    /Applications/MAMP/bin/php5/lib/php/Zend/Controller/Dispatcher/Standard.php 
    on line 193

  12. #12
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Il y a un passage du tutoriel de Rob Allen qui lance une exception c'est : normal, relis le tutoriel pour + d'informations.

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 199
    Par défaut
    le truc c'est que je fais pas le tuto de rob allen, je fais celui de kit page.

    pour rob allen j'ai le message internal error machin, ya rien qui marche...
    je dois pas etre trop doué

    en tout cas j'ai pas mal avancé et si tavais une explication pour ce message d'erreur...

  14. #14
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Si c'est une erreur interne, as-tu vérifié que c'est bien PHP5 qui se lance ? Il te suffit de mettre ceci dans un script :
    Internal error pour un script sensé fonctionner, est une erreur typique d'un script écrit en PHP5 mais exécuté en PHP4...

  15. #15
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 199
    Par défaut
    bon alors ca avance, ca avance
    voici mon code...
    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
    60
    61
    62
    63
    64
    <?php
     
    // die('ouf ca rassure');
     
    // mettre vos constantes ici...
     
    echo PHP_VERSION;
     
    define("WEBAPP_DIR","/Users/Nicolas/Sites/zf_tuto/");
    define("MODEL_DIR",WEBAPP_DIR."/PHP-INF/");
    define("ROOT_URL","http://localhost:8888/zf_tuto/");
    define("BASE_URL","/zf_tuto/");
    define("ZEND_FRAMEWORK_DIR","/Users/Nicolas/Sites/phplib/Zend_Framework/library/");
     
    define("DB_SERVER","localhost");
    define("DB_PORT","8888");
    define("DB_NAME","CDP_VI");
    define("DB_USER","root");
    define("DB_PASSWORD","root");
    define("DB_TYPE","PDO_MYSQL");
     
    set_include_path(
      ":".PATH_SEPARATOR.
      MODEL_DIR.PATH_SEPARATOR.
      ZEND_FRAMEWORK_DIR.PATH_SEPARATOR.
      get_include_path()
    );
     
    require_once 'Zend/Loader.php';
     
    // Registry init
    Zend_Loader::loadClass("Zend_Registry");
     
    // Controller init
    Zend_Loader::loadClass('Zend_Controller_Front');
    Zend_Loader::loadClass('Zend_Controller_Router_Rewrite');
    $controller = Zend_Controller_Front::getInstance();
     
    $router = new Zend_Controller_Router_Rewrite();
     
    $cmtRoute = new Zend_Controller_Router_Route(
        "comment/:action/:comment",
        array(  "comment"=>null,
                "controller"=>"comment",
                "action"=>"display"
        )
    );
    $router->addRoute("comment",$cmtRoute);
    $controller->setBaseUrl(BASE_URL);
     
    $controller->setRouter($router);
    $controller->setControllerDirectory('PHP-INF/ctrl');
    $controller->throwExceptions(true);
     
     init viewRenderer
     $view = new Zend_View();
     $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer');
        getStaticHelper('viewRenderer');
      $viewRenderer->setView($view)
                 ->setViewSuffix('phtml');
     
    // call dispatcher
    $controller->dispatch();
    ?>
    Et voici mon erreur...
    Parse error: syntax error, unexpected T_STRING in /Users/Nicolas/Sites/zf_tuto/WEBAPP_DIR/index.php on line 57

  16. #16
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Regarde bien ta ligne 55.
    À l'avenir, merci d'indiquer de quelle ligne tu parles.

  17. #17
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 199
    Par défaut
    Je viens de faire la correction, no comment, c'est le cas de le dire...

    nouveau message d'erreur... (rappel je fais le tuto de kitpages)... mici
    Fatal error: Uncaught exception 'Zend_Controller_Dispatcher_Exception' with message 'Invalid controller specified (WEBAPP_DIR)' in /Applications/MAMP/bin/php5/lib/php/Zend/Controller/Dispatcher/Standard.php:193 Stack trace: #0 /Applications/MAMP/bin/php5/lib/php/Zend/Controller/Front.php(911): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http)) #1 /Users/Nicolas/Sites/zf_tuto/WEBAPP_DIR/index.php(65): Zend_Controller_Front->dispatch() #2 {main} thrown in /Applications/MAMP/bin/php5/lib/php/Zend/Controller/Dispatcher/Standard.php on line 193
    Et pis mon petit fichier modifié ou doit y avoir plein de soucis dans la définition des define vu que je suis sous mac os x avec mamp...

    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
    60
    61
    62
    63
    64
    <?php
     
    // die('ouf ca rassure');
     
    // mettre vos constantes ici...
     
    echo PHP_VERSION;
     
    define("WEBAPP_DIR","./Users/Nicolas/Sites/zf_tuto/");
    define("MODEL_DIR",WEBAPP_DIR."/PHP-INF/");
    define("ROOT_URL","http://localhost:8888/zf_tuto/");
    define("BASE_URL","/zf_tuto/");
    define("ZEND_FRAMEWORK_DIR","/Users/Nicolas/Sites/phplib/Zend_Framework/library/");
     
    define("DB_SERVER","localhost");
    define("DB_PORT","8888");
    define("DB_NAME","CDP_VI");
    define("DB_USER","root");
    define("DB_PASSWORD","root");
    define("DB_TYPE","PDO_MYSQL");
     
    set_include_path(
      ":".PATH_SEPARATOR.
      MODEL_DIR.PATH_SEPARATOR.
      ZEND_FRAMEWORK_DIR.PATH_SEPARATOR.
      get_include_path()
    );
     
    require_once 'Zend/Loader.php';
     
    // Registry init
    Zend_Loader::loadClass("Zend_Registry");
     
    // Controller init
    Zend_Loader::loadClass('Zend_Controller_Front');
    Zend_Loader::loadClass('Zend_Controller_Router_Rewrite');
    $controller = Zend_Controller_Front::getInstance();
     
    $router = new Zend_Controller_Router_Rewrite();
     
    $cmtRoute = new Zend_Controller_Router_Route(
        "comment/:action/:comment",
        array(  "comment"=>null,
                "controller"=>"comment",
                "action"=>"display"
        )
    );
    $router->addRoute("comment",$cmtRoute);
    $controller->setBaseUrl(BASE_URL);
     
    $controller->setRouter($router);
    $controller->setControllerDirectory('PHP-INF/ctrl/');
    $controller->throwExceptions(true);
     
     // init viewRenderer
     $view = new Zend_View();
     $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer');
     
     $viewRenderer->setView($view)
                  ->setViewSuffix('phtml');
     
    // call dispatcher
    $controller->dispatch();
    ?>
    voili voilou

  18. #18
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Qu'est-ce que c'est que ce fichier ?
    /Users/Nicolas/Sites/zf_tuto/WEBAPP_DIR/index.php
    Pourquoi as-tu mis WEBAPP_DIR ici ?

  19. #19
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 199
    Par défaut
    La racine de votre site est imposée dans votre fichier index.php (le WEBAPP_DIR). Pour l'instant il n'y a rien d'autre dedans que le fichier index.php.

    créez l'arborescence suivante :

    WEBAPP_DIR
    ---index.php (fichier)
    ---PHP-INF (répertoire)
    ------views (répertoire)
    ---------scripts (répertoire)
    ------------index (répertoire)
    ---------filters (répertoire inutilisé)
    ---------helpers (répertoire inutilisé)
    ------ctrl (répertoire)
    C'est le tuto moi, je suis.
    J'ai tout mis dans zf-tuto qui est mon répertoire de test mais c'est tout.
    C'est un problème ?

  20. #20
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 701
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 701
    Par défaut
    WEBAPP_DIR est la constante qui défini ton répertoire de travail c'est à dire "zf_tuto" dans ton cas
    donc normalement le fichier "index.php" ainsi que le répertoire "PHP-INF" doivent se trouver dans "zf_tuto"

Discussions similaires

  1. [URL Rewriting] Mise en place sur EasyPHP
    Par guigo dans le forum Apache
    Réponses: 13
    Dernier message: 25/02/2008, 16h07
  2. Url rewriting et mise en place d'un cookie
    Par Olivier Regnier dans le forum Web
    Réponses: 0
    Dernier message: 26/12/2007, 22h36
  3. Réponses: 2
    Dernier message: 02/07/2007, 16h19
  4. [Apache2] Mise en place URL Rewriting
    Par kippix dans le forum Apache
    Réponses: 2
    Dernier message: 21/04/2007, 12h12
  5. Réponses: 1
    Dernier message: 30/03/2007, 16h45

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