pull-icon
logo-mobile

Main Meni

Articles

Home/Articles

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);