[RESOLU] Problème : "Too many connexion"

Petit nouveau ! | 7 Messages

25 oct. 2019, 20:35

Bonsoir à tous

Je tiens à préciser avant d'élucider mon problème, que je commence la poo et l'architecture MVC.

Bien commençons :
J'ai essayé de créer une architecture mvc en poo, mais dès lors où je fais appel à ma database et que j'utilise ma fonction dbConnect(), je m'aperçois qu'elle est lancé à plusieurs reprises, mais je ne comprend pas pourquoi, je n'ai mis en place aucune boucle, et pourtant ma fonction est lancé 500 fois ( max connexion sur phpmyadmin).

Et dès lors où je lance ce code ma fonction show(), ce repète 500 fois..

J'aimerais de votre part un conseil un indice où quelque chose qui me permettrait de saisir mon erreur.

Voici l'erreur :

Code : Tout sélectionner

je suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe itemje suis la classe item
Je vous montre mes fichiers car je suis un peu perdu.

Merci de votre patience

J'ai dans un premier temps créer un index qui fait office de routeur (index.php)

Code : Tout sélectionner

<!doctype html> <html lang="fr"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="description" content="lollywood-website"> <meta name="author" content="SniOpIBNA"> <link rel="icon" href="/docs/4.0/assets/img/favicons/favicon.ico"> <title><?= $title;?></title> <link rel="canonical" href="https://getbootstrap.com/docs/4.0/examples/starter-template/"> <!-- Bootstrap core CSS --> <link href="../../dist/css/bootstrap.min.css" rel="stylesheet"><link href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"> </head> <body style="padding-top : 70px"> <?= $content;?> <!-- Bootstrap core JavaScript ================================================== --> <!-- Placed at the end of the document so the pages load faster --> <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script> <script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery-slim.min.js"><\/script>')</script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.bundle.min.js" integrity="sha384-xrRywqdh3PHs8keKZN+8zzc5TX0GRTLCcmivcbNJWm2rs5C8PRhcEn3czEjhAO9o" crossorigin="anonymous"></script> </body> </html>
J'ai ensuite un controlleur

Code : Tout sélectionner

<?php namespace Controller; require "model/autoload.php"; class ItemsController { public function listItems(){ $items = new \Model\Items(); $items->show(); include "views/itemView.php"; } }
Mon model

Code : Tout sélectionner

<?php namespace Model; require_once "Database.php"; class Model { protected $_pdo; public function __construct(){ if(is_null($this->_pdo)){ $this->_pdo = Database::dbConnect(); }else { return $this->_pdo; } } }
Mon model Item

Code : Tout sélectionner

<?php namespace Model; require_once "model/autoload.php"; class Items extends Model{ public function show (){ echo "je suis la classe item"; } }
Ma BDD

Code : Tout sélectionner

<?php namespace Model; use \PDO; class Database { // Méthode static qui permet de se connecter à la base de donnée public static function dbConnect() { $pdo = new PDO("mysql:host=localhost;dbname=lollywood;charset=utf8","root",""); return $pdo; } }

Code : Tout sélectionner

<?php $title = 'Articles'; require_once "model/Items.php"; require_once "controller/ItemsController.php"; $controller = new \Controller\ItemsController(); $controller->listItems(); ?> <?php ob_start(); ?> <div class="container"> <h1>Nos articles</h1> </div> <?php $content = ob_get_clean(); ?> <?php require('views/template/layout.php');

Petit nouveau ! | 7 Messages

25 oct. 2019, 20:56

Voici l'index , haut dessus vous l'avez remarqué c'est le layout
Voici le routeur (index.php):

<?php

require "controller/IndexController.php";
require "controller/ItemsController.php";



if (isset($_GET['page'])) {
if ($_GET['page'] == 'items') {
$controller = new \Controller\ItemsController();
$controller->listItems();
}

}
else {
$controller = new \Controller\IndexController();
$controller->index();
}

Petit nouveau ! | 7 Messages

26 oct. 2019, 12:59

Le problème était dans ma vue, j'ai instancier 2 fois le controller, je ne serai expliqué pourquoi sa boucle mais le problème venait de là