SAND-framework/data/docs/05. Les Actions dans les vues.md
Emmanuel ROY 73a505ce7b update :
- documentation markdown du framework
2021-07-12 15:35:54 +02:00

1.9 KiB

#Les actions Celles-ci peuvent être appellé dans une vue par la méthode static qu'il convient d'instancier dans un fichier se trouvant dans le dossier application/include/action/ par exemple:

<?php  
  
use MVC\Classe\HttpMethodRequete;  
use MVC\Classe\Implement\Action;  
use MVC\Classe\Url; 
  
class DefaultAction extends Action  
{  
  public function default($data1 = null,$data2 = null,$data3 = null)  
 {  
	  /**your action algorythm**/  
	  if ($data1 !== null) {  
		  $var1 = $data1;  
	  } else {  
		  $var1 = 1;  
	  }
	  if ($data2 !== null) {  
		  $var2 = $data2;  
	  } else {  
		  $var2 = 2;  
	  }
	  if ($data3 !== null) {  
		  $var3 = $data3;  
	  } else {  
		  $var3 = 3;  
	  }  
	  return $this->render('action', array('var1' => $var1, 'var2' => $var2, 'var3' => $var3));  
 }  
  public function variableSlug($data1,$data2)  
 {  
	 /**your action algorythm**/  

	 ob_start();
	 print_r($data1);
     echo "<br/>";
     print_r($data2);
	 return ob_get_clean();
 }  
  public function makeHttp11()  
 {  
	  $data = array('myval' => 25);  
	  
	  $request = new HttpMethodRequete();  
	  $request->setUrl(Url::absolute_link_rewrite(false,'accueil',['var10'=>'val10']))->get($data);  
	  $request->setUrl(Url::absolute_link_rewrite(false,'accueil',['var10'=>'val10']))->post($data);     				
	  $request->setUrl(Url::absolute_link_rewrite(false, 'accueil', ['var10' => 'val10']))->put($data);  
	  $request->setUrl(Url::absolute_link_rewrite(false,'accueil',['var10'=>'val10']))->delete($data);  
  }  
}

avec cet accès dans une vue blade:

  
{{\MVC\Classe\ControlleurAction::inserer('default.default',[4,5,6])}}  
{{\MVC\Classe\ControlleurAction::inserer('default.makeHttp11',[])}}

ou avec cet accès dans une vue twig:

{{ action('default.defaultTwig',[4,5,6]) }}
{{ action('default.makeHttp11',[]) }}

il faut absolument que l'action retourne du texte soit par la la méthode render soit par un système de tampon