mise en place des requètes HTTP1.1 dans le core du MVC afin qu'elles soient utilisable simplement
TODO: tester les requètes HTTP1.1 , sécuriser les accès par un fichier config similaire a l'applet Discourse faite pour Tinternet TODO: ajouter un plug-in symfony permettant de charger un utilisateur dans les apps a partir de l'authentification multiple TODO: lire les documentation officielles provenant des 4 plate-formes tranquillement afin de comprendre commet doit on tester ces type d'auth quitte a créé un sous domaine particulier directement hebergé sur gittea -->Sécuriser le serveur de dev
This commit is contained in:
parent
2f2662ada7
commit
9bfc904555
|
@ -9,13 +9,50 @@ class Controlleur{
|
|||
|
||||
public function __construct($application){
|
||||
|
||||
if($application->url->page['control']){
|
||||
$url_params = $application->url->page['params'];
|
||||
require TRAITEMENT_PATH . DIRECTORY_SEPARATOR . $application->url->page['name'] . '.php';
|
||||
} else {
|
||||
$this->modele = new Modele($application->url->page);
|
||||
$this->vue = new Vue($this);
|
||||
|
||||
$requete = new MVC\Classe\Request();
|
||||
|
||||
switch ($requete->method) {
|
||||
//cas des requètes PUT et DELETE
|
||||
case 'PUT':
|
||||
case 'DELETE':
|
||||
require CONTROLLER_PATH . DIRECTORY_SEPARATOR . $application->url->page['name'] . 'HttpReponse.php';
|
||||
$reponseHttp = lcfirst($application->url->page['name']) . 'HttpReponse';
|
||||
$response = new $reponseHttp($application->url, $requete->getData());
|
||||
if ($requete->method == 'DELETE') {
|
||||
$reponseHttp->delete();
|
||||
} else {
|
||||
$reponseHttp->put();
|
||||
}
|
||||
break;
|
||||
//cas des requètes POST et GET
|
||||
case 'POST':
|
||||
case 'GET':
|
||||
if (!file_exists(CONTROLLER_PATH . DIRECTORY_SEPARATOR . $application->url->page['name'] . '')) {
|
||||
require CONTROLLER_PATH . DIRECTORY_SEPARATOR . $application->url->page['name'] . 'HttpReponse.php';
|
||||
$reponseHttp = lcfirst($application->url->page['name']) . 'HttpReponse';
|
||||
$response = new $reponseHttp($application->url, $requete->getData());
|
||||
if ($requete->method == 'POST') {
|
||||
$reponseHttp->post();
|
||||
} else {
|
||||
$reponseHttp->get();
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
default:
|
||||
|
||||
if ($application->url->page['control']) {
|
||||
$url_params = $application->url->page['params'];
|
||||
require TRAITEMENT_PATH . DIRECTORY_SEPARATOR . $application->url->page['name'] . '.php';
|
||||
} else {
|
||||
$this->modele = new Modele($application->url->page);
|
||||
$this->vue = new Vue($this);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
10
application/class/Implement/Contrat/HttpReponseInterface.php
Normal file
10
application/class/Implement/Contrat/HttpReponseInterface.php
Normal file
|
@ -0,0 +1,10 @@
|
|||
<?php
|
||||
|
||||
namespace MVC\Classe\Implement\Contrat;
|
||||
|
||||
interface HttpReponseInterface
|
||||
{
|
||||
public function put();
|
||||
|
||||
public function delete();
|
||||
}
|
14
application/class/Implement/Contrat/RestReponseInterface.php
Normal file
14
application/class/Implement/Contrat/RestReponseInterface.php
Normal file
|
@ -0,0 +1,14 @@
|
|||
<?php
|
||||
|
||||
namespace MVC\Classe\Implement\Contrat;
|
||||
|
||||
interface RestReponseInterface
|
||||
{
|
||||
public function get();
|
||||
|
||||
public function post();
|
||||
|
||||
public function put();
|
||||
|
||||
public function delete();
|
||||
}
|
32
application/class/Implement/HttpReponse.php
Normal file
32
application/class/Implement/HttpReponse.php
Normal file
|
@ -0,0 +1,32 @@
|
|||
<?php
|
||||
|
||||
|
||||
namespace MVC\Classe\Implement;
|
||||
|
||||
use MVC\Classe\Implement\Contrat\HttpReponseInterface;
|
||||
|
||||
class HttpReponse implements HttpReponseInterface
|
||||
{
|
||||
|
||||
public $url;
|
||||
public $params;
|
||||
public $data;
|
||||
|
||||
public function __contruct($url, $requestData)
|
||||
{
|
||||
$this->url = $url;
|
||||
$this->params = $url['params'];
|
||||
$this->data = $requestData;
|
||||
}
|
||||
|
||||
public function put()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public function delete()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
}
|
41
application/class/Implement/RestReponse.php
Normal file
41
application/class/Implement/RestReponse.php
Normal file
|
@ -0,0 +1,41 @@
|
|||
<?php
|
||||
|
||||
|
||||
namespace MVC\Classe\Implement;
|
||||
|
||||
use MVC\Classe\Implement\Contrat\RestReponseInterface;
|
||||
|
||||
class HttpReponse implements RestReponseInterface
|
||||
{
|
||||
|
||||
public $url;
|
||||
public $params;
|
||||
public $data;
|
||||
|
||||
public function __contruct($url, $requestData)
|
||||
{
|
||||
$this->url = $url;
|
||||
$this->params = $url['params'];
|
||||
$this->data = $requestData;
|
||||
}
|
||||
|
||||
public function get()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public function post()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public function put()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public function delete()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
|
@ -24,8 +24,13 @@ class Request
|
|||
case 'POST':
|
||||
break;
|
||||
case 'PUT':
|
||||
$this->data = json_decode(file_get_contents("php://input"), true);
|
||||
//$this->data['GET'] = ...
|
||||
//POST DATA except enctype="multipart/form-data"
|
||||
$this->data['POST'] = json_decode(file_get_contents("php://input"), true);
|
||||
case 'DELETE':
|
||||
//$this->data['GET'] = ...
|
||||
//POST DATA except enctype="multipart/form-data"
|
||||
$this->data['POST'] = json_decode(file_get_contents("php://input"), true);
|
||||
break;
|
||||
default:
|
||||
// Requête invalide
|
||||
|
@ -34,4 +39,9 @@ class Request
|
|||
}
|
||||
}
|
||||
|
||||
public function getData()
|
||||
{
|
||||
return $this->data;
|
||||
}
|
||||
|
||||
}
|
|
@ -104,7 +104,7 @@ class Response
|
|||
|
||||
public function setGetParamsUrl($url, $params = array())
|
||||
{
|
||||
$this->url = $url . (strpos($this->url, '?') ? '' : '?') . http_build_query($params);
|
||||
$this->url = $url . (strpos($url, '?') ? '&' : '?') . http_build_query($params);
|
||||
return $this;
|
||||
}
|
||||
|
||||
|
|
16
application/include/controlleurs/AcceuilHttpReponse.php
Normal file
16
application/include/controlleurs/AcceuilHttpReponse.php
Normal file
|
@ -0,0 +1,16 @@
|
|||
<?php
|
||||
|
||||
use MVC\Classe\Implement\HttpReponse;
|
||||
|
||||
class AcceuilHttpReponse extends HttpReponse
|
||||
{
|
||||
public function put()
|
||||
{
|
||||
echo $this->params . "<br/>" . $this->data;
|
||||
}
|
||||
|
||||
public function delete()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue