Bonjour a tous,
Âpres avoir suivie le tutoriel et vérifié plusieurs fois les lignes, j'ai toujours plusieurs problèmes au niveau des redirections d’URL (erreur 500).
Quand j’enlève le .htaccess le site refuse de s’afficher et met dit

Fatal error: Cannot redeclare class Controller in C:\wamp\www\core\Controller.php on line 4

voila ma class Controller:

<?php
class Controller
{
    public $request;
    private $vars = array();
    public $layout = 'default';
    private $rendered = false;

    function __construct($request){
        $this->request = $request;
    }
    public function render($view){

        if ($this->rendered) {return false;} ;
        extract($this->vars);
        if(strpos($view,'/')===0){
            $view = ROOT.DS.'view'.$view.'.php';
        }
        else{$view = ROOT.DS.'view'.DS.$this->request->controller.DS.$view.'.php';
        }
        ob_start();
        require($view);
        $content_for_layout = ob_get_clean();
        require ROOT.DS.'view'.DS.'layout'.DS.$this->layout.'.php';
        $this->rendered = true;
    }
    public function set($key,$value=null){
        if(is_array($key)){
            $this->vars += $key;
        }
        else{
        $this->vars$key] = $value;
        }
    }
}

Concernant la redirection d’URL voila mon .htaccess dans le dossier www

RewriteEngine On
RewriteRule (.*) webroot/$1 [L]

Et celui dans le dossier webroot:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) index.php/$1 [L]

Pouvez vous regarder et m’éclairez sur ces déférentes erreur.

Merci,
Cordialement

1 réponse


kaliones
Auteur

J'ai réussi à corriger l'erreur des htaccess (j'avais pas activé la réécriture de wamp)

Par contre j'ai toujours l'erreur sur la class controller:

Fatal error: Cannot redeclare class Controller in C:\wamp\www\core\Controller.php on line 4

class controller :

<?php
class Controller

{

    public $request;
    private $vars = array();
    public $layout = 'default';
    private $rendered = false;

    function __construct($request){
        $this->request = $request;
    }

    public function render($view){

        if ($this->rendered) {return false;} ;
        extract($this->vars);
        if(strpos($view,'/')===0){
            $view = ROOT.DS.'view'.$view.'.php';
        }
        else{$view = ROOT.DS.'view'.DS.$this->request->controller.DS.$view.'.php';
        }
        ob_start();
        require($view);
        $content_for_layout = ob_get_clean();
        require ROOT.DS.'view'.DS.'layout'.DS.$this->layout.'.php';
        $this->rendered = true;
    }

    public function set($key,$value=null){
        if(is_array($key)){
            $this->vars += $key;
        }
        else{
        $this->vars$key] = $value;
        }
    }

}

Cordialement