SAND-framework/data/doc-prince-book-generation/doc/sand/Contents/04. Les Actions dans les vues.md

69 lines
1.9 KiB
Markdown

#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
<?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:
```php
{{\MVC\Classe\ControlleurAction::inserer('default.default',[4,5,6])}}
{{\MVC\Classe\ControlleurAction::inserer('default.makeHttp11',[])}}
```
ou avec cet accès dans une vue twig:
```php
{{ 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`