SAND-framework/data/docs/02. Le controleur de base.md
Emmanuel ROY 73a505ce7b update :
- documentation markdown du framework
2021-07-12 15:35:54 +02:00

68 lines
2.2 KiB
Markdown

#Le contrôleur de base
il vous faut instancier trois fichiers sous cette forme:
* application/include/modeles/name.model
```
name : name
page_title : Page de l'application
description : Description de la page
engine : blade
authentification : no
ariane : {acceuil, name}
arianelink : {index, name}
params1 : {val1,val2}
params2 : val
```
il faut absolument renseigner le `name` avec le nom générique de la page en minuscule, SAND n'est pas sensible à la casse sur le nom de la page. Désolé vous ne pourrez pas jouer avec la casse des caractères pendant le developpement des nouvelles pages.
- `page_title` permet de modifier le contenu de la balise html title,
- `description` permet de modifier le contenu de la balise meta description.
- `engine` est optionnel, sa valeur par défaut est 'blade', cette variable permet de charger un uatre moteur de rendu. Si vous êtes plus a l'aise avec Twig pas de problèmes, cependant vous ne pourrez pâs charger un module Symfony aussi facilement...
- Enfin les parametres suivants `params1`,`params2` sont optionnels et permettent de passer des valeurs dans le controlleur ou dans la vue.
* application/include/controlleurs/name.php
```php
<?php
use MVC\Classe\Logger;
$templateData = array(
"templating_a"=>'blade',
"templating_b"=>'twig',
"templating_c"=>'edge'
);
//recuperation des paramètres contenus dans le .model
$var[] = $params2;
foreach( $params1 as $key => $value ){
$var[] = $value;
}
Logger::addLog('ok', 'Hello world');
```
tout en sachant que la variable `$templateData` est envoyé à la vue Blade
* application/include/vues/view/name.blade.php
```php
@extends('body')
@section('sidebar')
@parent
<p>This is appended to the master sidebar.</p>
@endsection
@section('content')
<a href="{{ \MVC\Classe\Url::link_rewrite(false, 'accueil', []) }}">Revenir a l'acceuil ?</a>
<hr/>
{{$templating_a}}::{{$templating_b}}::{{$templating_c}}
{{-- récupération des paramètres contenus dans le model --}}
{{$params2}}
@foreach ($param1 as $key => $value)
{{$key}} -> {{$value}}
@endforeach
@endsection
```
par exemple...
---
Pour les instancier facilement vous pouvez utiliser la commande:
`php console/bin.php page:add`