Mise en place d'un AutoLoader

ServeurDeTest
Noé GARNIER 2 years ago
parent e12271a57c
commit 8045f7f375

@ -0,0 +1,51 @@
<?php
class Autoload
{
private static $_instance = null;
public static function charger()
{
if(null !== self::$_instance) {
throw new RuntimeException(sprintf('%s is already started', __CLASS__));
}
self::$_instance = new self();
if(!spl_autoload_register(array(self::$_instance, '_autoload'), false)) {
throw new RuntimeException(sprintf('%s : Could not start the autoload', __CLASS__));
}
}
public static function shutDown()
{
if(null !== self::$_instance) {
if(!spl_autoload_unregister(array(self::$_instance, '_autoload'))) {
throw new RuntimeException('Could not stop the autoload');
}
self::$_instance = null;
}
}
private static function _autoload($class)
{
global $rep;
$filename = $class.'.php';
$dir =array('Model/','./','Config/','Controller/');
foreach ($dir as $d){
$file=$rep.$d.$filename;
//echo $file;
if (file_exists($file))
{
include $file;
}
}
}
}
?>

@ -1,13 +1,25 @@
<?php <?php
//préfixe //préfixe
$rep='../'; $rep = __DIR__ . '/../';
//BD //BD
$dsn = 'mysql:host=londres.uca.local; dbname=dbnogarnier1'; $dsn = 'mysql:host=londres.uca.local; dbname=dbnogarnier1';
$user = 'nogarnier1'; $user = 'nogarnier1';
$password = 'achanger'; $password = 'achanger';
// $dsn = 'mysql:host=localhost; dbname=scripted';
// $user = 'root';
// $password = 'p';
//View //View
//Page
$vues['main'] = 'View/src/pages/Main.php';
$vues['presenation'] = 'View/src/pages/Presentation.html';
$vues['login'] = 'View/src/pages/LogSign/Login.php';
$vues['signUp'] = 'View/src/pages/LogSign/SignUp.php';
//Error
$vues['erreurSignUp'] = 'View/Error/ErreurSignUp.php'; $vues['erreurSignUp'] = 'View/Error/ErreurSignUp.php';
$vues['erreur'] = 'View/Error/Erreur.php'; $vues['erreur'] = 'View/Error/Erreur.php';
$vues['erreurBd'] = 'View/Error/ErreurBd.php'; $vues['erreurBd'] = 'View/Error/ErreurBd.php';

@ -15,8 +15,7 @@ class Controller
$action=$_REQUEST['action']; $action=$_REQUEST['action'];
switch($action) { switch($action) {
case NULL: case NULL:
require ('./View/src/pages/Main.php'); require ($rep.$vues['main']);
//header('Location: http://londres.uca.local/~nogarnier1/Scripted/WEB/View/src/pages/Main.html');
break; break;
case "signUp": case "signUp":
$this->signUp(); $this->signUp();
@ -36,6 +35,9 @@ class Controller
case "goToSignUp": case "goToSignUp":
$this->goToSignUp(); $this->goToSignUp();
break; break;
case "goToEnigme":
$this->goToEnigme();
break;
} }
} catch (PDOException $e) } catch (PDOException $e)
{ {
@ -54,7 +56,7 @@ class Controller
$joueur = new Joueur($_REQUEST['email'], $_REQUEST['username'], $_REQUEST['password']); $joueur = new Joueur($_REQUEST['email'], $_REQUEST['username'], $_REQUEST['password']);
$gateway->insert($joueur); $gateway->insert($joueur);
$_SESSION['connected'] = 'true'; $_SESSION['connected'] = 'true';
require ('./View/src/pages/Main.php'); require ($rep.$vues['main']);;
}catch (Exception $e){ }catch (Exception $e){
require($rep.$vues['erreurSignUp']); require($rep.$vues['erreurSignUp']);
} }
@ -72,7 +74,7 @@ class Controller
throw new InvalidMdpException("Mot de passe invalide"); throw new InvalidMdpException("Mot de passe invalide");
} }
$_SESSION['connected'] = 'true'; $_SESSION['connected'] = 'true';
require ('./View/src/pages/Main.php'); require ($rep.$vues['main']);
}catch (JoueurNotFoundException $e){ }catch (JoueurNotFoundException $e){
require($rep.$vues['erreurLoginEmail']); require($rep.$vues['erreurLoginEmail']);
}catch (InvalidMdpException $m) { }catch (InvalidMdpException $m) {
@ -83,7 +85,7 @@ class Controller
private function goToPresentation() { private function goToPresentation() {
global $rep, $vues; global $rep, $vues;
try { try {
require ('./View/src/pages/Presentation.html'); require ($rep.$vues['presenation']);
}catch (Exception $e){ }catch (Exception $e){
require($rep.$vues['erreur404']); require($rep.$vues['erreur404']);
} }
@ -92,7 +94,7 @@ class Controller
private function goToHome() { private function goToHome() {
global $rep, $vues; global $rep, $vues;
try { try {
require ('./View/src/pages/Main.php'); require ($rep.$vues['main']);
}catch (Exception $e){ }catch (Exception $e){
require($rep.$vues['erreur404']); require($rep.$vues['erreur404']);
} }
@ -101,7 +103,7 @@ class Controller
private function goToLogin() { private function goToLogin() {
global $rep, $vues; global $rep, $vues;
try { try {
require ('./View/src/pages/LogSign/Login.php'); require ($rep.$vues['login']);
}catch (Exception $e){ }catch (Exception $e){
require($rep.$vues['erreur404']); require($rep.$vues['erreur404']);
} }
@ -110,7 +112,16 @@ class Controller
private function goToSignUp() { private function goToSignUp() {
global $rep, $vues; global $rep, $vues;
try { try {
require ('./View/src/pages/LogSign/SignUp.php'); require ($rep.$vues['signUp']);
}catch (Exception $e){
require($rep.$vues['erreur404']);
}
}
private function goToEnigme() {
global $rep, $vues;
try {
require ($rep.$vues['enigme']);
}catch (Exception $e){ }catch (Exception $e){
require($rep.$vues['erreur404']); require($rep.$vues['erreur404']);
} }

@ -1,8 +1,4 @@
<?php <?php
require_once "../Model/Partie.php";
require_once "../Config/Connection.php";
class PartieGateway class PartieGateway
{ {
private Connection $con; private Connection $con;

@ -27,7 +27,7 @@
</div> </div>
<div class="Presentation"> <div class="Presentation">
<div class="Histoire"> <div class="Histoire">
<img src="../../assets/img/Renard.png" alt="Foxy"> <img src="./View/assets/img/Renard.png" alt="Foxy">
<div class="Consigne" id="message"> <div class="Consigne" id="message">
<p>Bonjour utilisateur ! Je suis Foxy, une IA créer par Howard Aiken, un eminent chercheur, <p>Bonjour utilisateur ! Je suis Foxy, une IA créer par Howard Aiken, un eminent chercheur,
malhereusement celui-ci est mort. J'ai besoin de votre aide pour protéger mon code source d'une organisation malhereusement celui-ci est mort. J'ai besoin de votre aide pour protéger mon code source d'une organisation

@ -1,24 +1,11 @@
<?php <?php
require_once './Config/Config.php'; require_once(__DIR__.'/config/config.php');
require_once "./Config/Connection.php"; require_once(__DIR__.'/config/Autoload.php');
require_once './Config/Validation.php'; Autoload::charger();
require_once "./Model/Joueur.php";
require_once "./Model/Enigme.php";
require_once './Controller/JoueurGateway.php';
require_once './Controller/EnigmeGateway.php';
require_once './Controller/JoueurNotFoundException.php';
require_once './Controller/InvalidMdpException.php';
require_once './Controller/Controller.php';
//unset($_SESSION['connected']);
$con = new Connection($dsn, $user, $password); $con = new Connection($dsn, $user, $password);
$control = new Controller($con); $control = new Controller($con);
session_unset(); //efface les variable session session_unset();
session_destroy();//détruit la session session_destroy();
$_SESSION = null;//histoire d'être sûre $_SESSION = null;
Loading…
Cancel
Save