Tutoriel : Créer votre premier projet

Dans ce tutoriel vous découvrirez comment créer votre premier projet, personnaliser votre site et ajouter vos premières pages spécifiques

Utilisation des Vues

Afin d'avoir une architecture claire et maintenable tout le code html est séparé et géré par les vues. Cela permet d'avoir d'un coté le code métier clair et lisible et d'un autre le design.

1. Création de notre premiére vue 

Commencons par créer une nouvelle fonction Presentation

/**
 * Hello world Simple
 */
 function Index()
 {
   return "Hello World";
 }

/***
 * Test de la premiére vue
 */
 function Presentation()
 {
   $view = new View(__DIR__."/presentation.tpl", $this->Core);
   return $view->Render();
 }

 

/!\ Comme vous le constatez nous utilisons une nouvelle class View, il ne faut pas oublier de l'ajouter son autoload dans l'entête de votre fichier.

Tout le framework utilise ce système d'autoload et vous le reverez souvent. 

Si vous oubliez de l'ajouter les messages d'erreurs sont clairs

use Core\Core\Core;
use Apps\Base\Base;
use Core\View\View;

 

Vous pouvez alors maintenant créer le fichier presentation.tpl à la racine de votre application, à même niveau de  test.php.

<h1>Hello World</h1>

<p>
    Bonjour tout  le monde je suis <i>Jérôme.</i>

</p>

 

Ouvreé alors votre navigateur à l'url : http://monsite/Presentation

 

Si votre page est blanche, c'est que le système n'a pas trouvé votre fichier template. 

 

2. Passer un paramétre à votre vue

Nous allons voir maintenant comment on peut passer des variables de notre code métier à notre vue.

Continuons sur notre page Presentation et ajoutons une variable que nous passerons à la vue grâce à la classe ElementView.

N'oubliez pas d'ajouter dans l'entête 

use Core\View\ElementView;

 

Notre fonction devient

    /**
	 * Test de la premiére vue
	 */
	function Presentation()
	{
		$view = new View(__DIR__."/presentation.tpl", $this->Core);

        $nom = "charlie chaplin";
        $view->AddElement(new ElementView("nom",  $nom ));

		return $view->Render();
	}

Ajoutons maintenant cette variable dans le template. Le framework utilise les {{ et }} pour identifier une variable

<h1>Hello World</h1>

<p>
    Bonjour tout  le monde je suis <i>{{nom}}</i>
</p>

En rafraichissant votre page, Jérôme et devenu Charlie Chaplin . C'est bien notre variable métier qui est affiché dans la vue.  

Le vue posséde plusieurs autres fonctions pour créer le rendu final que vous pourrez découvrir dans le tutoriel des fonctions avancés.

 

Mais avant de continuer plus loin, nous nous somme égaré et n'avons pas respecter l'architecture de base.

En effet nous avons gérer la page d'index dans l'application de base et avons ajouté le template à la racine. 

 

Boou , ce n'est pas très propre.

 

La classe de base ne doit que rediriger les appels, mais n'a aucune mécanique .

Ce rôle là est confié aux modules.

 

Passez vite au tutoriel suivant pour découvrir leurs fonctionnements