Articles
Scroll Down
01
Controller.php
Le controller.php, sert quant à lui a relié entre eux, la page et la base de donnée :
- ce qu'il contient au minimum
<?php
/**
* Bel-CMS [Content management system]
* @version 3.0.0 [PHP8.2]
* @link https://bel-cms.dev
* @link https://determe.be
* @license http://opensource.org/licenses/GPL-3.-copyleft
* @copyright 2015-2023 Bel-CMS
* @author as Stive - stive@determe.be
*/
namespace BELCMS\Pages\Controller;
if (!defined('CHECK_INDEX')):
header($_SERVER['SERVER_PROTOCOL'] . ' 403 Direct access forbidden');
exit('<!doctype html><html><head><meta charset="utf-8"><title>BEL-CMS : Error 403 Forbidden</title><style>h1{margin: 20px auto;text-align:center;color: red;}p{text-align:center;font-weight:bold;</style></head><body><h1>HTTP Error 403 : Forbidden</h1><p>You don\'t permission to access / on this server.</p></body></html>');
endif;
class Mail extends Pages
{
var $useModels = 'NomDuModels';
#########################################
# Index de la page
#########################################
public function index ()
{
}
}
Ici, je vais vous montrer comment faire une page, j'ai choisi la page e-mail :
<?php
/**
* Bel-CMS [Content management system]
* @version 3.0.0 [PHP8.2]
* @link https://bel-cms.dev
* @link https://determe.be
* @license http://opensource.org/licenses/GPL-3.-copyleft
* @copyright 2015-2023 Bel-CMS
* @author as Stive - stive@determe.be
*/
namespace BELCMS\Pages\Controller;
use Belcms\Pages\Pages;
use BelCMS\User\User;
if (!defined('CHECK_INDEX')):
header($_SERVER['SERVER_PROTOCOL'] . ' 403 Direct access forbidden');
exit('<!doctype html><html><head><meta charset="utf-8"><title>BEL-CMS : Error 403 Forbidden</title><style>h1{margin: 20px auto;text-align:center;color: red;}p{text-align:center;font-weight:bold;</style></head><body><h1>HTTP Error 403 : Forbidden</h1><p>You don\'t permission to access / on this server.</p></body></html>');
endif;
class Mail extends Pages
{
var $useModels = 'Mail';
#########################################
# Index de la page Mail
#########################################
public function index ()
{
// Si l'utilisateur est logué
if (User::isLogged() === true) {
// Récupère les messages qui ne sont pas archivés
$data['inbox'] = $this->models->getMessages();
// Transmet les données à la page index
$this->set($data);
// le nom de la page
$this->render('index');
} else {
// Redirection vers le login, après 3 secondes
$this->redirect('User/login&echo', 3);
// Initialise une erreur / message information
$this->error = true;
// message information (alert error infos success warning), le message, le titre, full page ou non (true-false)
$this->errorInfos = array('warning', constant('LOGIN_REQUIRE'), constant('INFO'), false);
}
}
}
Voici l'index fini, après ça reste la même chose,
- le nom de la function = la page (https://localhost/Mail/send),
- Récupère des données depuis la BDD $data['nomDeLaVariable'] = $this->models->nomDeRecuperation ($data);
- Envoie les données récupérer vers la page $this->set($data);
- La page a récupéré $this->render(send);