Bonjour à tous,
Je voulais remercier en premier lieu la personne qui a réalisé les tutos.
Super bien pour les néopytes comme moi.
J'ai cependant une question.
Je suis en train de développer le site de mon épouse.
J'ai commencé dans un premier temp à apprendre et réaliser le site uniquement avec du html et du css.
Je me suis vite rendu compte lorsque j'ai eu fini de faire mon "header" menu que si j'avais des modifs à faire, et bien les réaliser dans chaque page aller prendre du temps.
Après avoir été sur le net, j'ai pu observer qu'il était possible de réaliser son site en php.
Je me suis dit ok, je ne connais pas mais bon après quelques tutos, et quelques include par çi par là, cela serait réalisable.
Puis je suis tombé sur les sites renseignant la création de site avec une structure MVC.
Evidement, ce que je pensais faire quelques choses de facile s'est révélé beaucop plus hardu.
Je suis donc tombé par hasard sur ce site et commençé à réaliser le tuto en 7 parties, création avec php.
Je comprend +- les principes mais il faut dire qu'il y a des choses qu m'échappe quand même.
Je suppose qu'avec l'appprentissage, cela ira mieux.
Je suis donc arrivé au tuto n°2 (29 min19 sec)et cela ne fonctionne pas...
Je me permet donc de demander si il y a quelques choses qui m'aurait échappé:
Dans mon fichier dispatcher:
<?php
/*
** Utilité du Dispatcher => Récupérer URL et l'utiliser
** Class = Ensemble élément structure un objet
*/
class Dispatcher
{
/* Var Request = Récupére les différentes requêtes*/
var $request;
/* Fontion lancée automatiquement*/
function __construct()
{
/* Initialisation de la var Request*/
$this->request = new Request();
/* Parse URL = Analyse URL*/
Router::parse($this->request->url,$this->request);
/* Initiation de la fonction loadController*/
$controller = $this->loadController();
}
function loadController()
{
$name = ucfirst($this->request->controller).'Controller';
$file = ROOT.DS.'controller'.DS.$name.'.php';
require $file;
return new $name($this->request);
}
}
?>
Dans mon fichier pages.controller:
<?php
class PagesController extends Controller{
function vie(){
echo 'vous voyez';
}
}
?>
J'obtiens comme erreur:
Warning: require(K:\Programme\Easyphp\EasyPHP-5.3.9\www\Site\controller\Controller.php) [function.require]: failed to open stream: No such file or directory in K:\Programme\Easyphp\EasyPHP-5.3.9\www\Site\core\Dispatcher.php on line 25
Fatal error: require() [function.require]: Failed opening required 'K:\Programme\Easyphp\EasyPHP-5.3.9\www\Site\controller\Controller.php' (include_path='.;C:\php\pear') in K:\Programme\Easyphp\EasyPHP-5.3.9\www\Site\core\Dispatcher.php on line 25
Est-ce grave docteur?
Merci d'avance.
A ce niveau du tutoriel, tu n'as pas dit à ton site ce qu'il doit charger en page d'accueil.
Donc je pense que tu dois utiliser l'url : http://127.0.0.1/Site/pages/view/index
Bonjour Daemon,
Dans cette portion de code :
$name = ucfirst($this->request->controller).'Controller';
$file = ROOT.DS.'controller'.DS.$name.'.php';
require $file;
Tu demandes à charger ton fichier controller, hors ton message d'erreur indique qu'il ne le trouve pas.
Dans ton répertoire controller as tu un fichier "PagesController.php" ?
Bonjour gato,
Efectivement j'ai bien un fichier PagesController.php
<?php class PagesController extends Controller{
function view(){
echo 'vous voyez';
}
}
?>
J'utilise easyphp.
Mon début de site est dans www du programme.
J'ai redirigé comme indiqué dans le tuto vers webroot.
l'url est: http://127.0.0.1/Site/
Merci pour la réponde. ;)
J'ai pas encore eu le temps de regarder.
Mais à mon avis, je devrai voir ce que j'ai mis dans la fonction avec echo.
A voir.
Edit: En effet, il fallat inscrire la bonne url