namespace de fait hehe

This commit is contained in:
Yasder5 2026-02-28 15:57:54 +01:00
parent 6c21a5f1cb
commit 0638834933
23 changed files with 131 additions and 81 deletions

View file

@ -1,5 +1,5 @@
{
"name": "yasse/projetphp",
"name": "groupe3/projetphp",
"description": "le projet php de ces mort",
"require": {
"smarty/smarty": "^5.7",
@ -8,13 +8,15 @@
},
"autoload": {
"psr-4": {
"Guill\\Guillaume\\": "src/"
"Controllers\\": "controllers/",
"Entities\\": "entities/",
"Models\\": "models/"
}
},
"authors": [
{
"name": "GuillaumeH-Cci",
"email": "guillaume.hess@ccicampus.fr"
"name": "Le Meilleur groupe",
"email": "pasdemail@meilleurgroupe.ccicampus"
}
]
}

View file

@ -1,16 +1,13 @@
<?php
namespace Controllers;
require("./models/project_model.php");
require("./entities/project_entity.php");
require("./models/category_model.php");
require("./entities/category_entity.php");
require("./models/image_model.php");
require("./entities/image_entity.php");
require("./models/user_model.php");
require("./entities/user_entity.php");
require("./models/authorisation_model.php");
require("./entities/authorisation_entity.php");
require("mother_controller.php");
use Models\CategoryModel;
use Models\UserModel;
use Models\AuthorisationModel;
use Entities\Category;
use Entities\Authorisation;
use Entities\User;
/**
* Le controller de la partie accessible uniquement par l'admin

View file

@ -1,5 +1,5 @@
<?php
require("mother_controller.php");
namespace Controllers;
/**
* Le contrôleur des erreurs

View file

@ -1,4 +1,5 @@
<?php
namespace Controllers;
use Smarty\Smarty;

View file

@ -1,6 +1,7 @@
<?php
require("mother_controller.php");
namespace Controllers;
/**
* Le controller de la page d'aide utilisateur

View file

@ -1,13 +1,20 @@
<?php
require("./models/project_model.php");
require("./entities/project_entity.php");
require("./models/category_model.php");
require("./entities/category_entity.php");
require("./models/image_model.php");
require("./entities/image_entity.php");
require("./models/user_model.php");
require("./entities/user_entity.php");
require("mother_controller.php");
namespace Controllers;
use Models\ProjectModel;
use Models\CategoryModel;
use Models\ImageModel;
use Models\UserModel;
use Entities\Project;
use Entities\Category;
use Entities\Authorisation;
use Entities\User;
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
use PHPMailer\PHPMailer\SMTP;

View file

@ -1,10 +1,12 @@
<?php
require("models/user_model.php");
require("entities/user_entity.php");
require("mother_controller.php");
require("./models/project_model.php");
require("./entities/project_entity.php");
namespace Controllers;
use Models\UserModel;
use Models\ProjectModel;
use Entities\User;
use Entities\Project;
/**
* Le controller de la page d'aide utilisateur

View file

@ -1,11 +1,12 @@
<?php
require_once("mother_entity.php");
namespace Entities;
/**
* Classe d'un objet Authorisation
* @author Laura
*/
class Authorisation extends Entity{
class Authorisation extends Mother{
private int $_id;
private string $_name = '';

View file

@ -1,13 +1,13 @@
<?php
require_once("mother_entity.php");
namespace Entities;
/**
* Classe d'un objet Category
* @author Laura
*/
class Category extends Entity{
class Category extends Mother{
private ?int $_id = null;
protected string $_name = '';

View file

@ -1,13 +1,13 @@
<?php
require_once("mother_entity.php");
namespace Entities;
/**
* Classe d'un objet Projet
* @author Laura
*/
class Image extends Entity{
class Image extends Mother{
private int $_id;
private string $_name = '';

View file

@ -1,11 +1,13 @@
<?php
namespace Entities;
/**
* Classe d'un Mere de tout objet
* @author Yass & Laura
*/
class Entity{
class Mother{
protected string $_prefix = '';

View file

@ -1,11 +1,15 @@
<?php
require_once("mother_entity.php");
namespace Entities;
use \DateTime;
use \IntlDateFormatter;
/**
* Classe d'un objet Projet
* @author Yass
*/
class Project extends Entity{
class Project extends Mother{
private ?int $_id = null;
private string $_title = "";

View file

@ -1,11 +1,12 @@
<?php
require_once("mother_entity.php");
namespace Entities;
/**
* Classe d'un objet User
* @author Besnik & Laura
*/
class User extends Entity{
class User extends Mother{
private int $_id;
private string $_name = '';
private string $_firstname = '';

View file

@ -1,36 +1,31 @@
<?php
session_start();
require(__DIR__ . "/vendor/autoload.php");
//environnement
// Environnement
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__);
$dotenv->safeLoad();
$strCtrl = $_GET['ctrl']??'project';
$strMethod = $_GET['action']??'home';
$strCtrl = $_GET['ctrl'] ?? 'project';
$strMethod = $_GET['action'] ?? 'home';
$boolError = false;
$strFileName = "./controllers/".$strCtrl."_controller.php";
$strClassName = "Controllers\\" . ucfirst($strCtrl) . "Ctrl";
if(file_exists($strFileName)){
require($strFileName);
$strClassName = ucfirst($strCtrl)."Ctrl";
if(class_exists($strClassName)){
$objController = new $strClassName();
if(method_exists($objController,$strMethod)){
$objController->$strMethod ();
}else{
$boolError = true;
}
}else{
$boolError = false;
if (class_exists($strClassName)) {
$objController = new $strClassName();
if (method_exists($objController, $strMethod)) {
$objController->$strMethod();
} else {
$boolError = true;
}
}else{
} else {
$boolError = true;
}
if($boolError){
header("Location:index.php?ctrl=error&action=error_404");
if ($boolError) {
header("Location: index.php?ctrl=error&action=error_404");
exit;
}

View file

@ -1,5 +1,7 @@
<?php
require_once('mother_model.php');
namespace Models;
use \PDO;
/**
@ -7,7 +9,7 @@
* @author : Laura
*/
class AuthorisationModel extends Connect{
class AuthorisationModel extends MotherModel{
public function __construct(){
parent::__construct();

View file

@ -1,12 +1,14 @@
<?php
require_once('mother_model.php');
namespace Models;
use \PDO;
/**
* Traitement des requêtes pour les catégories
* @author : Laura
*/
class CategoryModel extends Connect{
class CategoryModel extends MotherModel{
/**
* Fonction de récupération des catégories

View file

@ -1,5 +1,7 @@
<?php
require_once('mother_model.php');
namespace Models;
use \PDO;
/**
@ -7,7 +9,7 @@
* @author Laura
*/
class ImageModel extends Connect{
class ImageModel extends MotherModel{
/**
* Fonction de récupération des images

View file

@ -1,12 +1,16 @@
<?php
class Connect {
namespace Models;
use \PDO;
class MotherModel {
protected $_db;
public function __construct(){
try{
$this->_db = new PDO(
"mysql:host=boulayoune.com;dbname=projet_folliow",
"mysql:host=localhost;dbname=projet_folliow",
"projet_user",
"F0lliowRules!",
array(PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC)

View file

@ -1,5 +1,8 @@
<?php
require_once('mother_model.php');
namespace Models;
use \PDO;
/**
@ -7,7 +10,7 @@
* @author Laura & Guillaume
*/
class ProjectModel extends Connect{
class ProjectModel extends MotherModel{
/**

View file

@ -1,5 +1,8 @@
<?php
require_once('mother_model.php');
namespace Models;
use \PDO;
/**
@ -7,7 +10,7 @@
* @author : Yasser, Guillaume & Besnik
*/
class UserModel extends Connect{
class UserModel extends MotherModel{
public function __construct(){
parent::__construct();

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

View file

@ -12,7 +12,9 @@ return array(
'Smarty\\' => array($vendorDir . '/smarty/smarty/src'),
'PhpOption\\' => array($vendorDir . '/phpoption/phpoption/src/PhpOption'),
'PHPMailer\\PHPMailer\\' => array($vendorDir . '/phpmailer/phpmailer/src'),
'Guill\\Guillaume\\' => array($baseDir . '/src'),
'Models\\' => array($baseDir . '/models'),
'GrahamCampbell\\ResultType\\' => array($vendorDir . '/graham-campbell/result-type/src'),
'Entities\\' => array($baseDir . '/entities'),
'Dotenv\\' => array($vendorDir . '/vlucas/phpdotenv/src'),
'Controllers\\' => array($baseDir . '/controllers'),
);

View file

@ -26,15 +26,26 @@ class ComposerStaticInit68f8d029d347b4c0c8cdbe33eeb96101
'PhpOption\\' => 10,
'PHPMailer\\PHPMailer\\' => 20,
),
'M' =>
array (
'Models\\' => 7,
),
'G' =>
array (
'Guill\\Guillaume\\' => 16,
'GrahamCampbell\\ResultType\\' => 26,
),
'E' =>
array (
'Entities\\' => 9,
),
'D' =>
array (
'Dotenv\\' => 7,
),
'C' =>
array (
'Controllers\\' => 12,
),
);
public static $prefixDirsPsr4 = array (
@ -62,18 +73,26 @@ class ComposerStaticInit68f8d029d347b4c0c8cdbe33eeb96101
array (
0 => __DIR__ . '/..' . '/phpmailer/phpmailer/src',
),
'Guill\\Guillaume\\' =>
'Models\\' =>
array (
0 => __DIR__ . '/../..' . '/src',
0 => __DIR__ . '/../..' . '/models',
),
'GrahamCampbell\\ResultType\\' =>
array (
0 => __DIR__ . '/..' . '/graham-campbell/result-type/src',
),
'Entities\\' =>
array (
0 => __DIR__ . '/../..' . '/entities',
),
'Dotenv\\' =>
array (
0 => __DIR__ . '/..' . '/vlucas/phpdotenv/src',
),
'Controllers\\' =>
array (
0 => __DIR__ . '/../..' . '/controllers',
),
);
public static $classMap = array (