Chapitre 3 : Notion de Framework PHP

Framework = cadriciel

Ensemble de conposants logiciels fournissant un cadre de conception

Quelques frameworks connus :

CodeIgniter, Symfony, Laravel, Phalcon, Cake PHP, Zend, Yii

Les frameworks permettent d'intégrer facilement certains concepts ou fonctionnalités dans une application :

Architecture MVC

MVC est un patron de conception (design pattern) permettant de séparer les différentes composantes d'une application suivant leur rôle :

  • M = Modèle (logique et classes métier)
  • V = Vue (Partie présentation, interface utilisateur)
  • C = Contrôleur (Logique applicative, contrôle, synchronisation)

Routage, logique applicative

Mappage objet/relationel

voir Micro-ORM

Vues

  • Rôle d'affichage uniquement, reçoivent les données du contrôleur
  • Utilisation de moteur de template (cache)

<table class='table table-striped'>
	<thead><tr><th colspan='3'>{{model}}</th></tr></thead>
		<tbody>
		{% for object in objects %}
			<tr>
			<td>{{object.toString()|raw}}</td>
			<td class='td-center'><a class='btn btn-primary btn-xs' href='{{baseHref~"/frm/"~object.getId()}}'>...</a></td>
			<td class='td-center'><a class='btn btn-warning btn-xs' href='{{baseHref~"/delete/"~object.getId()}}'>X</a></td>
			</tr>
		{% endfor %}
		</tbody>
</table>
<a class='btn btn-primary' href='{{config["siteUrl"]~baseHref~"/frm"}}'>Ajouter...</a>

Scripts côté client

  • Généré en PHP
  • Dans les contrôleurs, puis insérés dans la vue

	public function index() {
		$this->loadView("main/vHeader.html",array("infoUser"=>Auth::getInfoUser()));
		$this->loadView("main/vDefault.html");
		$this->loadView("main/vFooter.html");
		Jquery::getOn("click", ".btAjax", "Sample/ajaxSample","#response");
		echo Jquery::compile();
	}

php-rt/cours/chap7.txt · Dernière modification: 2018/02/12 02:36 par jcheron
GNU Free Documentation License 1.3
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0