Table des matières

Chapitre 7 : 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 :

Routage, logique applicative

voir https://micro-framework.readthedocs.io/en/latest/controller/uri.html

Mappage objet/relationel

voir https://micro-framework.readthedocs.io/en/latest/model/models.html

Vues

<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

	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();
	}