Je reviens vers vous car j'ai eu un problème que voulu changer mon projet en MVC. C'est dans les cahiers des charges, si ça serait à moi j'aurais laissé comme ça, car ça marchait très bien. Je vous présente mon site. J'ai un site de voyage avec les articles de différentes catégories. Ils sont affiché en page d’accueil et j'ai un espace admin, mais pour l'instant je cherche simple donc je transforme d'abord mon accueil en objet et mVC pour ensuite de bien m’occuper le reste. Pour mon admin je souhaite tout simplement d'afficher les articles avec le menu . Tout d'abord j'ai mon index.html ou je fait appel à contrôleur
<?php
namespace projet\controller;
use projet\model\PostManager;
class PostView
{
function listTravel()
{
$listManager = new PostManager(); //objet crée
$list = $listManager->getTravel(); //appel une fonction de cet objet
include('../view/travelView.php');
}
function listMenu()
{
$listManager = new PostManager();
$list = $listManager->getMenu();
include('../view/template.php');
}
}
il va chercher le model
<?php
namespace projet\model;
use projet\config\Database;
use \PDO;
use projet\controller\PostView;
class PostManager
{
private $connexion;
/**
* @return PDO|null
*/
public function getConnexion()
{
return $this->connexion;
}
/**
* @param PDO|null $connexion
*/
public function setConnexion($connexion)
{
$this->connexion = $connexion;
}
public function __construct( ){
$db=new Database();
$this->connexion=$db->getConnection();
}
function getTravel()
{
$db = getConnection();
$statement = $db->prepare('SELECT * FROM mesVoyages WHERE mesVoyages.id_cat=?');
$statement->execute(array($categ['idcat']));
return $statement;
}
function getMenu()
{
$db = getConnection();
$statement = $db->query("SELECT * FROM categorie");
$categorie = $statement->fetchAll();
return $categorie;
}
}
au passage mon fichier database
<?php
namespace projet\config;
class Database{
// specify your own database credentials
private $_host = "localhost";
private $_db_name = "travelArm";
private $_username = "phpmyadmin";
private $_password = "phpmypasswd";
private $_conn;
// get the database connection
public function getConnection(){
$this->_conn = null;
try{
$this->_conn = new \PDO("mysql:host=" . $this->_host . ";dbname=" . $this->_db_name, $this->_username, $this->_password);
$this->_conn->exec("set names utf8");
}catch(PDOException $exception){
echo "Connection error: " . $exception->getMessage();
}
return $this->_conn;
}
}
?>
ensuite il retourne vers le controlleur pour aller vers la vue
et après normalement il realise l'affichage. mon projet davant il marchait très bien il n'y avait pas d'erreur de code. Je pense c'est au niveau du controlleur car mon code j'ai mit dans les fonctions. Et je pense il n'arrive pas à faire des appel avec les differerents de fichier.
mon arborescence
projet
config
Database.php
controller
PostView.php
model
PostManager.php
public
css
image
view
template.php
travelMenu.php
travelView.php
index.php
Je vous remercie d'avance pour votre aide.
J'espère de trouver la solution.
Rafael
- Edité par RafaelYavryan 12 décembre 2019 à 18:18:55
J'ai appris à utiliser use comme ça. Je viens de changer tout les use mais ça ne charge rien
------
ReBonjour.
J'ai fait quelques chagements sur mon code voici les erreurs que j'obtiens
[Fri Dec 13 15:35:35 2019] 127.0.0.1:52630 [200]: /public/css/style.css [Fri Dec 13 15:35:54 2019] PHP Warning: require(projet/controller/PostView.php): failed to open stream: No such file or directory in /media/Qi/ryavryan/PojetWebPhp2019/P_MVC_OBJET_V1/projet/index.php on line 9 [Fri Dec 13 15:35:54 2019] PHP Fatal error: require(): Failed opening required 'projet/controller/PostView.php' (include_path='.:/usr/share/php') in /media/Qi/ryavryan/PojetWebPhp2019/P_MVC_OBJET_V1/projet/index.php on line 9 [Fri Dec 13 15:35:54 2019] 127.0.0.1:52640 [500]: / - require(): Failed opening required 'projet/controller/PostView.php' (include_path='.:/usr/share/php') in /media/Qi/ryavryan/PojetWebPhp2019/P_MVC_OBJET_V1/projet/index.php on line 9 [Fri Dec 13 15:35:54 2019] 127.0.0.1:52642 [200]: /public/css/style.css
Je pense il n'arrive pas a trouver le bon ficher ou bien l'appel à la fonction se fait pas correctectement.
- Edité par RafaelYavryan 13 décembre 2019 à 15:43:07
Transformer son projet en MVC et Objet
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Postez votre code et vos msg d'erreurs - "ça marche pas" n'est pas un message d'erreur ...
Postez votre code et vos msg d'erreurs - "ça marche pas" n'est pas un message d'erreur ...